diff options
author | Bernd Schmidt <bernds@cygnus.co.uk> | 1999-07-20 10:41:10 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 1999-07-20 10:41:10 +0000 |
commit | 7f4edbcba63f129d037ffba8bd6deab84da5fd43 (patch) | |
tree | acba269fe48cc12a4f0ec25249c8195ed409ca23 /gcc/c-tree.h | |
parent | 3791a1dc294190ba6e759fdd1e5cb46cbdd54713 (diff) | |
download | gcc-7f4edbcba63f129d037ffba8bd6deab84da5fd43.zip gcc-7f4edbcba63f129d037ffba8bd6deab84da5fd43.tar.gz gcc-7f4edbcba63f129d037ffba8bd6deab84da5fd43.tar.bz2 |
c-common.h: New file.
* c-common.h: New file.
* c-common.c (permanent_obstack): Delete unused declaration.
(c_global_trees): New array.
(c_common_nodes_and_builtins): New function; split off common code
from init_decl_processing in both c-decl.c and cp/decl.c.
* c-tree.h: Delete lots of declarations of tree nodes; replaced by
c_global_trees and accessor macros defined in c-common.h.
Include c-common.h.
* c-decl.c: Delete definitions for tree nodes that were replaced by
c_global_trees.
(init_decl_processing): Build void_list_node.
Call c_common_nodes_and_builtins; delete code to generate the common
builtins here.
* objc/objc-act.c (build_module_descriptor): Rename variable
void_list_node to avoid clash with c-common.h.
* cp/cp-tree.h: Delete lots of declarations of tree nodes; replaced by
c_global_trees and accessor macros defined in c-common.h.
(cp_tree_index): New enumeration.
(cp_global_trees): Declare new array. Add accessor macros for it, and
delete declarations of tree nodes replaced by it.
(builtin_function): Delete macro, add declaration for new function.
Include c-common.h.
* cp/decl.c: Delete definitions for tree nodes that were replaced by
cp_global_trees and c_global_trees.
(init_decl_processing): Call c_common_nodes_and_builtins; delete code
to generate the common builtins here.
(builtin_function): New function.
* cp/decl2.c (abort_fndecl): Delete declaration.
* cp/except.c (expand_builtin_return_address): Delete declaration.
(builtin_return_address_fndecl): Delete variable.
(const_ptr_type_node): Delete declaration.
* cp/lex.c (cons_up_default_function): Delete declaration of
void_list_node.
* cp/parse.y (void_list_node): Delete declaration.
* cp/rtti.c (type_info_type_node, tinfo_fn_id, tinfo_fn_type):
Delete variables.
(const_string_type_node): Delete declaration.
* cp/search.c (abort_fndecl): Delete declaration.
* Makefile.in: Update dependencies.
* objc/Make-lang.in: Likewise.
* cp/Makefile.in: Likewise.
From-SVN: r28188
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r-- | gcc/c-tree.h | 107 |
1 files changed, 2 insertions, 105 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index 7e01356..1db0790 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */ #ifndef _C_TREE_H #define _C_TREE_H +#include "c-common.h" + /* Language-dependent contents of an identifier. */ /* The limbo_value is used for block level extern declarations, which need @@ -175,116 +177,11 @@ extern tree build_objc_string PROTO((int, const char *)); /* in c-aux-info.c */ extern void gen_aux_info_record PROTO((tree, int, int, int)); -/* in c-common.c */ -extern void declare_function_name PROTO((void)); -extern void decl_attributes PROTO((tree, tree, tree)); -extern void init_function_format_info PROTO((void)); -extern void check_function_format PROTO((tree, tree, tree)); -extern int c_get_alias_set PROTO((tree)); -extern void c_apply_type_quals_to_decl PROTO((int, tree)); -/* Print an error message for invalid operands to arith operation CODE. - NOP_EXPR is used as a special case (see truthvalue_conversion). */ -extern void binary_op_error PROTO((enum tree_code)); -extern void c_expand_expr_stmt PROTO((tree)); -extern void c_expand_start_cond PROTO((tree, int, int)); -extern void c_expand_start_else PROTO((void)); -extern void c_expand_end_cond PROTO((void)); -/* Validate the expression after `case' and apply default promotions. */ -extern tree check_case_value PROTO((tree)); -/* Concatenate a list of STRING_CST nodes into one STRING_CST. */ -extern tree combine_strings PROTO((tree)); -extern void constant_expression_warning PROTO((tree)); -extern tree convert_and_check PROTO((tree, tree)); -extern void overflow_warning PROTO((tree)); -extern void unsigned_conversion_warning PROTO((tree, tree)); -/* Read the rest of the current #-directive line. */ -#if USE_CPPLIB -extern char *get_directive_line PROTO((void)); -#define GET_DIRECTIVE_LINE() get_directive_line () -#else -extern char *get_directive_line PROTO((FILE *)); -#define GET_DIRECTIVE_LINE() get_directive_line (finput) -#endif - -/* Subroutine of build_binary_op, used for comparison operations. - See if the operands have both been converted from subword integer types - and, if so, perhaps change them both back to their original type. */ -extern tree shorten_compare PROTO((tree *, tree *, tree *, enum tree_code *)); -/* Prepare expr to be an argument of a TRUTH_NOT_EXPR, - or validate its data type for an `if' or `while' statement or ?..: exp. */ -extern tree truthvalue_conversion PROTO((tree)); -extern tree type_for_mode PROTO((enum machine_mode, int)); -extern tree type_for_size PROTO((unsigned, int)); - /* in c-convert.c */ extern tree convert PROTO((tree, tree)); /* in c-decl.c */ -/* Standard named or nameless data types of the C compiler. */ -extern tree char_array_type_node; -extern tree char_type_node; -extern tree const_ptr_type_node; -extern tree const_string_type_node; -extern tree default_function_type; -extern tree double_ftype_double; -extern tree double_ftype_double_double; -extern tree double_type_node; -extern tree float_type_node; -#if HOST_BITS_PER_WIDE_INT >= 64 -extern tree intTI_type_node; -#endif -extern tree intDI_type_node; -extern tree intHI_type_node; -extern tree intQI_type_node; -extern tree intSI_type_node; -extern tree int_array_type_node; -extern tree int_ftype_cptr_cptr_sizet; -extern tree int_ftype_int; -extern tree int_ftype_ptr_ptr_int; -extern tree int_ftype_string_string; -extern tree integer_type_node; -extern tree long_double_type_node; -extern tree long_ftype_long; -extern tree long_integer_type_node; -extern tree long_unsigned_type_node; -extern tree long_long_integer_type_node; -extern tree long_long_unsigned_type_node; -extern tree widest_integer_literal_type_node; -extern tree widest_unsigned_literal_type_node; -extern tree complex_integer_type_node; -extern tree complex_float_type_node; -extern tree complex_double_type_node; -extern tree complex_long_double_type_node; -extern tree ptr_type_node; -extern tree ptrdiff_type_node; -extern tree short_integer_type_node; -extern tree short_unsigned_type_node; -extern tree signed_char_type_node; -extern tree signed_wchar_type_node; -extern tree string_ftype_ptr_ptr; -extern tree string_type_node; -extern tree unsigned_char_type_node; -#if HOST_BITS_PER_WIDE_INT >= 64 -extern tree unsigned_intTI_type_node; -#endif -extern tree unsigned_intDI_type_node; -extern tree unsigned_intHI_type_node; -extern tree unsigned_intQI_type_node; -extern tree unsigned_intSI_type_node; -extern tree unsigned_type_node; -extern tree unsigned_wchar_type_node; -extern tree void_ftype_ptr_int_int; -extern tree void_ftype_ptr_ptr_int; -extern tree void_type_node; -extern tree wchar_array_type_node; -extern tree wchar_type_node; -extern tree boolean_type_node; -extern tree boolean_true_node; -extern tree boolean_false_node; - extern tree build_enumerator PROTO((tree, tree)); -/* Declare a predefined function. Return the declaration. */ -extern tree builtin_function PROTO((const char *, tree, enum built_in_function function_, const char *)); /* Add qualifiers to a type, in the fashion for C. */ extern tree c_build_qualified_type PROTO((tree, int)); #define c_build_type_variant(TYPE, CONST_P, VOLATILE_P) \ |