X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=src%2Fnesc-component.c;h=a53a116b43546f34d6f0a11f2009a8bffdbe3124;hb=refs%2Ftags%2Fupstream%2F1.3.2;hp=b9913424475cb36b4f57d5d0229dbb1adb9e34c6;hpb=57d4530c4d6814fa25338a00cc65b95938c723b6;p=nesc.git diff --git a/src/nesc-component.c b/src/nesc-component.c index b991342..a53a116 100644 --- a/src/nesc-component.c +++ b/src/nesc-component.c @@ -47,7 +47,7 @@ void component_spec_iterate(nesc_declaration c, void (*iterator)(data_declaration fndecl, void *data), void *data, - bool interfaces) + bool interfaces, bool otherdecls) { const char *ifname; void *ifentry; @@ -58,8 +58,8 @@ void component_spec_iterate(nesc_declaration c, { data_declaration idecl = ifentry; - if (!(idecl->kind == decl_interface_ref || - idecl->kind == decl_function)) + if (!otherdecls && !(idecl->kind == decl_interface_ref || + idecl->kind == decl_function)) continue; if (idecl->kind != decl_interface_ref || interfaces) @@ -83,7 +83,7 @@ void component_functions_iterate(nesc_declaration c, void *data), void *data) { - component_spec_iterate(c, iterator, data, FALSE); + component_spec_iterate(c, iterator, data, FALSE, FALSE); } static typelist make_gparm_typelist(declaration gparms) @@ -272,7 +272,7 @@ void build_external_graph(region r, nesc_declaration cdecl) of cdecl */ d.cg = new_cgraph(r); d.userg = new_cgraph(r); - component_spec_iterate(cdecl, beg_iterator, &d, TRUE); + component_spec_iterate(cdecl, beg_iterator, &d, TRUE, FALSE); cdecl->connections = d.cg; cdecl->user_connections = d.userg;