diff options
author | Zack Weinberg <zack@codesourcery.com> | 2004-07-08 19:50:17 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2004-07-08 19:50:17 +0000 |
commit | 36c1b0def4a4672a93e846c610e19a1a15f4e17d (patch) | |
tree | b5d1f5dae24cf0c3994f99d911989c25185e3b7d /gcc/c-objc-common.c | |
parent | 5b02f0e0046d946792d7e05b569cb6d2c54442ee (diff) | |
download | gcc-36c1b0def4a4672a93e846c610e19a1a15f4e17d.zip gcc-36c1b0def4a4672a93e846c610e19a1a15f4e17d.tar.gz gcc-36c1b0def4a4672a93e846c610e19a1a15f4e17d.tar.bz2 |
c-decl.c (static_ctors, [...]): Make static.
* c-decl.c (static_ctors, static_dtors): Make static.
(pop_file_scope): Call c_common_write_pch and
cgraph_finalize_compilation_unit here.
(build_cdtor): Moved here from c-objc-common.c; simplify.
(c_write_global_declarations_1): Clarify comment.
(c_write_global_declarations): Close the external scope before
doing anything else. Call build_cdtor, cgraph_optimize, and
mudflap_finish_file here.
* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
Clarify comment.
* c-objc-common.c: No need to include cgraph.h.
(build_cdtor): Moved to c-decl.c.
(c_objc_common_finish_file): Delete.
* c-tree.h: Update to match.
* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
(generate_static_references): Set TREE_USED before calling finish_decl.
Eliminate unnecessary dummy declaration. Call rest_of_decl_compilation
on the static_instances_decl.
From-SVN: r84307
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r-- | gcc/c-objc-common.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index 1ede9c3..28da7e6 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -38,7 +38,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "langhooks.h" #include "tree-mudflap.h" #include "target.h" -#include "cgraph.h" static bool c_tree_printer (pretty_printer *, text_info *); @@ -183,50 +182,6 @@ c_objc_common_init (void) return true; } -/* Synthesize a function which calls all the global ctors or global dtors - in this file. */ - -static void -build_cdtor (int method_type, tree cdtors) -{ - tree body; - - body = push_stmt_list (); - - for (; cdtors; cdtors = TREE_CHAIN (cdtors)) - add_stmt (build_function_call (TREE_VALUE (cdtors), NULL_TREE)); - - body = pop_stmt_list (body); - - cgraph_build_static_cdtor (method_type, body); -} - -/* Called at end of parsing, but before end-of-file processing. */ - -void -c_objc_common_finish_file (void) -{ - if (pch_file) - c_common_write_pch (); - - if (static_ctors) - { - build_cdtor ('I', static_ctors); - static_ctors = 0; - } - if (static_dtors) - { - build_cdtor ('D', static_dtors); - static_dtors = 0; - } - - cgraph_finalize_compilation_unit (); - cgraph_optimize (); - - if (flag_mudflap) - mudflap_finish_file (); -} - /* Called during diagnostic message formatting process to print a source-level entity onto BUFFER. The meaning of the format specifiers is as follows: |