aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-tree.h
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-07-20 10:41:10 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-07-20 10:41:10 +0000
commit7f4edbcba63f129d037ffba8bd6deab84da5fd43 (patch)
treeacba269fe48cc12a4f0ec25249c8195ed409ca23 /gcc/c-tree.h
parent3791a1dc294190ba6e759fdd1e5cb46cbdd54713 (diff)
downloadgcc-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.h107
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) \