+ if (count_vars) {
+ size_t i = 0;
+ struct psi_decl_extvar *evar;
+
+ while (psi_plist_get(check_vars, i++, &evar)) {
+ *dst->last_error = 0;
+ PSI_DEBUG_PRINT(dst, "PSI: validate extvar %s ", evar->arg->var->name);
+ if (psi_decl_extvar_validate(PSI_DATA(dst), evar, dlopened, &type_stack)) {
+ PSI_DEBUG_PRINT(dst, "%s\n", "✔");
+ dst->vars = psi_plist_add(dst->vars, &evar);
+ dst->decls = psi_plist_add(dst->decls, &evar->getter);
+ dst->decls = psi_plist_add(dst->decls, &evar->setter);
+ } else {
+ PSI_DEBUG_PRINT(dst, "%s (%s)\n", "✘", dst->last_error);
+ recheck_vars = psi_plist_add(recheck_vars, &evar);
+ }
+ }
+ }