diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2019-12-20 17:41:06 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2019-12-20 17:41:06 +0000 |
commit | 39292e25076e1048b2aaa89ac60c28f3f61a78a0 (patch) | |
tree | 14d790f6ae6c3e85fd4ba2d1f7763bd61a026494 /gcc | |
parent | 02e8542795c4321a76783b8f419435696bfed9f1 (diff) | |
download | gcc-39292e25076e1048b2aaa89ac60c28f3f61a78a0.zip gcc-39292e25076e1048b2aaa89ac60c28f3f61a78a0.tar.gz gcc-39292e25076e1048b2aaa89ac60c28f3f61a78a0.tar.bz2 |
c-ada-spec.h (decl_sloc): Delete.
c-family/
* c-ada-spec.h (decl_sloc): Delete.
* c-ada-spec.c (decl_sloc): Make static.
c/
* 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.
cp/
* decl2.c (c_parse_final_cleanups): Always call collect_source_ref on
the main input filename.
From-SVN: r279670
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-ada-spec.c | 2 | ||||
-rw-r--r-- | gcc/c-family/c-ada-spec.h | 1 | ||||
-rw-r--r-- | gcc/c/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/c/c-decl.c | 26 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 5 |
7 files changed, 30 insertions, 22 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 30cbc13..33ea8ab 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2019-12-20 Eric Botcazou <ebotcazou@adacore.com> + + * c-ada-spec.h (decl_sloc): Delete. + * c-ada-spec.c (decl_sloc): Make static. + 2019-12-19 Julian Brown <julian@codesourcery.com> * c-common.h (c_omp_map_clause_name): Add prototype. diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c index 5a142ce..024a3ac 100644 --- a/gcc/c-family/c-ada-spec.c +++ b/gcc/c-family/c-ada-spec.c @@ -630,7 +630,7 @@ static const char *current_source_file; /* Return sloc of DECL, using sloc of last field if LAST is true. */ -location_t +static location_t decl_sloc (const_tree decl, bool last) { tree field; diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h index f9ea1bc..085e891 100644 --- a/gcc/c-family/c-ada-spec.h +++ b/gcc/c-family/c-ada-spec.h @@ -36,7 +36,6 @@ enum cpp_operation { IS_TRIVIAL }; -extern location_t decl_sloc (const_tree, bool); extern void collect_ada_nodes (tree, const char *); extern void collect_source_ref (const char *); extern void dump_ada_specs (void (*)(const char *), 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); } diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2b90d0c..37353e9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2019-12-20 Eric Botcazou <ebotcazou@adacore.com> + + * decl2.c (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/cp/decl2.c b/gcc/cp/decl2.c index 0352954..6ff8113 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -4816,9 +4816,8 @@ c_parse_final_cleanups (void) /* Handle -fdump-ada-spec[-slim] */ if (flag_dump_ada_spec || flag_dump_ada_spec_slim) { - if (flag_dump_ada_spec_slim) - collect_source_ref (main_input_filename); - else + collect_source_ref (main_input_filename); + if (!flag_dump_ada_spec_slim) collect_source_refs (global_namespace); dump_ada_specs (collect_all_refs, cpp_check); |