diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2004-09-10 23:56:31 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2004-09-10 23:56:31 +0000 |
commit | 5d709b0013a3d180de93f3349233637c281215b2 (patch) | |
tree | 3e13669d72ea210ff0fa0fd5c941453f47b0432e /gcc/c-common.h | |
parent | 616aeba2bb37e55c24cc65a861e12c08e18e3943 (diff) | |
download | gcc-5d709b0013a3d180de93f3349233637c281215b2.zip gcc-5d709b0013a3d180de93f3349233637c281215b2.tar.gz gcc-5d709b0013a3d180de93f3349233637c281215b2.tar.bz2 |
c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
(extract_interface_info): Delete prototype.
* c-decl.c (extract_interface_info): Delete stub.
* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
it's not already been done ...
(init_c_lex): ... not here.
(fe_file_change): Don't call extract_interface_info.
cp:
* cp-tree.h (interface_only, interface_unknown): Delete declarations;
comment explaining them moved to c-common.h.
* lex.c (interface_only, interface_unknown, extract_interface_info):
Delete definitions.
(cxx_finish): Don't reset interface_unknown.
(handle_pragma_interface): Don't set interface_only and
interface_unknown; just the like-named fields in finfo.
(handle_pragma_implementation): Adjust comment.
* decl2.c (cp_finish_file): Don't reset interface_only and
interface_unknown.
* method.c (synthesize_method): Don't reset interface_unknown or
call extract_interface_info.
* pt.c (pop_tinst_level): Don't call extract_interface_info.
* decl.c (start_cleanup_fn): Don't save or restore interface_only
and interface_unknown.
(make_rtl_for_nonlocal_decl): Call get_fileinfo on input_filename
and use the result instead of the interface_only/interface_unknown
globals.
(start_preparsed_function): Likewise.
* lex.c (cxx_make_type): Likewise.
* semantics.c (begin_class_definition): Likewise.
(expand_body): Don't call extract_interface_info.
From-SVN: r87329
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r-- | gcc/c-common.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h index e6371b8..46e843b 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -820,10 +820,6 @@ extern tree decl_constant_value (tree); /* Handle increment and decrement of boolean types. */ extern tree boolean_increment (enum tree_code, tree); -/* Hook currently used only by the C++ front end to reset internal state - after entering or leaving a header file. */ -extern void extract_interface_info (void); - extern int case_compare (splay_tree_key, splay_tree_key); extern tree c_add_case_label (splay_tree, tree, tree, tree, tree); @@ -859,7 +855,14 @@ extern GTY(()) int pending_lang_change; struct c_fileinfo { int time; /* Time spent in the file. */ - short interface_only; /* Flags - used only by C++ */ + + /* Flags used only by C++. + INTERFACE_ONLY nonzero means that we are in an "interface" section + of the compiler. INTERFACE_UNKNOWN nonzero means we cannot trust + the value of INTERFACE_ONLY. If INTERFACE_UNKNOWN is zero and + INTERFACE_ONLY is zero, it means that we are responsible for + exporting definitions that others might need. */ + short interface_only; short interface_unknown; }; |