diff options
Diffstat (limited to 'gcc/c')
-rw-r--r-- | gcc/c/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/c/c-decl.c | 26 |
2 files changed, 17 insertions, 17 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 469dc5d..86b6c9f 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,11 @@ +2019-12-20 Eric Botcazou <ebotcazou@adacore.com> + + * c-decl.c (collect_source_ref_cb): Delete. + (for_each_global_decl): Rename into... + (collect_source_refs): ...this. Call collect_source_ref directly. + (c_parse_final_cleanups): Always call collect_source_ref on the main + input filename. + 2019-12-19 Julian Brown <julian@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index 0450fcd..01f85e2 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -11787,15 +11787,6 @@ c_write_global_declarations_1 (tree globals) while (reconsider); } -/* Callback to collect a source_ref from a DECL. */ - -static void -collect_source_ref_cb (tree decl) -{ - if (!DECL_IS_BUILTIN (decl)) - collect_source_ref (LOCATION_FILE (decl_sloc (decl, false))); -} - /* Preserve the external declarations scope across a garbage collect. */ static GTY(()) tree ext_block; @@ -11813,10 +11804,10 @@ collect_all_refs (const char *source_file) collect_ada_nodes (BLOCK_VARS (ext_block), source_file); } -/* Iterate over all global declarations and call CALLBACK. */ +/* Collect source file references at global level. */ static void -for_each_global_decl (void (*callback) (tree decl)) +collect_source_refs (void) { tree t; tree decls; @@ -11827,11 +11818,13 @@ for_each_global_decl (void (*callback) (tree decl)) { decls = DECL_INITIAL (t); for (decl = BLOCK_VARS (decls); decl; decl = TREE_CHAIN (decl)) - callback (decl); + if (!DECL_IS_BUILTIN (decl)) + collect_source_ref (DECL_SOURCE_FILE (decl)); } for (decl = BLOCK_VARS (ext_block); decl; decl = TREE_CHAIN (decl)) - callback (decl); + if (!DECL_IS_BUILTIN (decl)) + collect_source_ref (DECL_SOURCE_FILE (decl)); } /* Perform any final parser cleanups and generate initial debugging @@ -11865,10 +11858,9 @@ c_parse_final_cleanups (void) if (flag_dump_ada_spec || flag_dump_ada_spec_slim) { /* Build a table of files to generate specs for */ - if (flag_dump_ada_spec_slim) - collect_source_ref (main_input_filename); - else - for_each_global_decl (collect_source_ref_cb); + collect_source_ref (main_input_filename); + if (!flag_dump_ada_spec_slim) + collect_source_refs (); dump_ada_specs (collect_all_refs, NULL); } |