Lines Matching defs:decp
137 check_self_reference(const char *name, const declaration *decp, int first)
152 if (decp->rel == REL_POINTER &&
153 (streqn(decp->prefix, "struct") ||
154 (first && streqn(decp->prefix, ""))) &&
155 streqn(name, decp->type))
161 is_self_reference(definition *defp, declaration *decp)
166 if (check_self_reference(defp->def_name, decp, 1))
174 if (!streqn(decp->prefix, "struct") && !streqn(decp->prefix, ""))
176 if (decp->rel != REL_POINTER && decp->rel != REL_ALIAS)
179 current.rel = decp->rel;
180 current.prefix = decp->prefix;
181 current.type = decp->type;
182 current.name = decp->name;
183 decp = ¤t;
184 while (!check_self_reference(defp->def_name, decp, 0)) {
185 dp = FINDVAL(defined, decp->type, cmptype);
197 if (streqn(decp->prefix, "")) {
206 } else if (streqn(decp->prefix, "struct") &&
213 else if (!streqn(decp->prefix, "struct"))
222 if (decp->rel == REL_POINTER && dp->def.ty.rel != REL_ALIAS)
224 if (decp->rel == REL_ALIAS &&
228 if (decp->rel != REL_ALIAS && decp->rel != REL_POINTER)
233 if (streqn(decp->prefix, ""))
234 decp->prefix = dp->def.ty.old_prefix;
235 decp->type = dp->def.ty.old_type;
236 if (decp->rel == REL_ALIAS)
237 decp->rel = dp->def.ty.rel;