aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2004-09-10 23:56:31 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-09-10 23:56:31 +0000
commit5d709b0013a3d180de93f3349233637c281215b2 (patch)
tree3e13669d72ea210ff0fa0fd5c941453f47b0432e /gcc/c-common.h
parent616aeba2bb37e55c24cc65a861e12c08e18e3943 (diff)
downloadgcc-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.h13
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;
};