X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fc-tree.h;h=508567a91d9641cf2e29ef86f38199c1545e51ee;hb=2a28135353b97956c0ad51a9fe00868f24458a06;hp=290ebe9daa87a1efcaca1da307494510253b4833;hpb=518796ade8970e16e445640a442a4e838d86a63b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/c-tree.h b/gcc/c-tree.h index 290ebe9daa8..508567a91d9 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -19,8 +19,8 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef _C_TREE_H -#define _C_TREE_H +#ifndef GCC_C_TREE_H +#define GCC_C_TREE_H #include "c-common.h" @@ -36,10 +36,17 @@ Boston, MA 02111-1307, USA. */ struct lang_identifier { - struct tree_identifier ignore; + struct c_common_identifier ignore; tree global_value, local_value, label_value, implicit_decl; tree error_locus, limbo_value; - enum rid rid_code; +}; + +/* Wrapping c_lang_decl in another struct is an unfortunate + necessity. */ + +struct lang_decl +{ + struct c_lang_decl base; }; /* Macros for access to language-specific slots in an identifier. */ @@ -75,9 +82,6 @@ struct lang_identifier TREE_USED to record that such a decl was used. TREE_ADDRESSABLE to record that the address of such a decl was used. */ -/* Nonzero means reject anything that ANSI standard C forbids. */ -extern int pedantic; - /* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is read-only. */ #define C_TYPE_FIELDS_READONLY(type) TREE_LANG_FLAG_1 (type) @@ -93,8 +97,6 @@ extern int pedantic; and C_RID_YYCODE is the token number wanted by Yacc. */ #define C_IS_RESERVED_WORD(id) TREE_LANG_FLAG_0 (id) -#define C_RID_CODE(id) \ - (((struct lang_identifier *) (id))->rid_code) /* In a RECORD_TYPE, a sorted array of the fields of the type. */ struct lang_type @@ -103,10 +105,6 @@ struct lang_type tree elts[1]; }; -/* Mark which labels are explicitly declared. - These may be shadowed, and may be referenced from nested functions. */ -#define C_DECLARED_LABEL_FLAG(label) TREE_LANG_FLAG_1 (label) - /* Record whether a type or decl was written with nonconstant size. Note that TYPE_SIZE may have simplified to a constant. */ #define C_TYPE_VARIABLE_SIZE(type) TYPE_LANG_FLAG_1 (type) @@ -136,9 +134,6 @@ struct lang_type without prototypes. */ #define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_NONCOPIED_PARTS (NODE) -/* In a FIELD_DECL, nonzero if the decl was originally a bitfield. */ -#define DECL_C_BIT_FIELD(NODE) DECL_LANG_FLAG_4 (NODE) - /* in c-lang.c and objc-act.c */ extern tree lookup_interface PARAMS ((tree)); @@ -147,20 +142,18 @@ extern void maybe_objc_check_decl PARAMS ((tree)); extern void finish_file PARAMS ((void)); extern int maybe_objc_comptypes PARAMS ((tree, tree, int)); extern tree maybe_building_objc_message_expr PARAMS ((void)); -extern tree maybe_objc_method_name PARAMS ((tree)); extern int recognize_objc_keyword PARAMS ((void)); extern tree lookup_objc_ivar PARAMS ((tree)); /* in c-parse.in */ extern void c_parse_init PARAMS ((void)); +extern int yyparse_1 PARAMS ((void)); /* in c-aux-info.c */ extern void gen_aux_info_record PARAMS ((tree, int, int, int)); -/* in c-convert.c */ -extern tree convert PARAMS ((tree, tree)); - /* in c-decl.c */ +extern tree build_array_declarator PARAMS ((tree, tree, int, int)); extern tree build_enumerator PARAMS ((tree, tree)); #define c_build_type_variant(TYPE, CONST_P, VOLATILE_P) \ @@ -169,6 +162,7 @@ extern tree build_enumerator PARAMS ((tree, tree)); ((VOLATILE_P) ? TYPE_QUAL_VOLATILE : 0)) extern int c_decode_option PARAMS ((int, char **)); extern void c_mark_varargs PARAMS ((void)); +extern void check_for_loop_decls PARAMS ((void)); extern tree check_identifier PARAMS ((tree, tree)); extern void clear_parm_order PARAMS ((void)); extern tree combine_parm_decls PARAMS ((tree, tree, int)); @@ -183,41 +177,28 @@ extern tree finish_enum PARAMS ((tree, tree, tree)); extern void finish_function PARAMS ((int)); extern tree finish_struct PARAMS ((tree, tree, tree)); extern tree get_parm_info PARAMS ((int)); -extern tree getdecls PARAMS ((void)); -extern tree gettags PARAMS ((void)); -extern int global_bindings_p PARAMS ((void)); extern tree grokfield PARAMS ((const char *, int, tree, tree, tree)); extern tree groktypename PARAMS ((tree)); extern tree groktypename_in_parm_context PARAMS ((tree)); extern tree implicitly_declare PARAMS ((tree)); extern void implicit_decl_warning PARAMS ((tree)); extern int in_parm_level_p PARAMS ((void)); -extern void init_decl_processing PARAMS ((void)); -extern void insert_block PARAMS ((tree)); extern void keep_next_level PARAMS ((void)); extern int kept_level_p PARAMS ((void)); -extern tree lookup_label PARAMS ((tree)); extern tree lookup_name PARAMS ((tree)); extern tree lookup_name_current_level PARAMS ((tree)); extern tree lookup_name_current_level_global PARAMS ((tree)); -extern tree maybe_build_cleanup PARAMS ((tree)); extern void parmlist_tags_warning PARAMS ((void)); extern void pending_xref_error PARAMS ((void)); extern void mark_c_function_context PARAMS ((struct function *)); extern void push_c_function_context PARAMS ((struct function *)); extern void pop_c_function_context PARAMS ((struct function *)); extern void pop_label_level PARAMS ((void)); -extern tree poplevel PARAMS ((int, int, int)); -extern void print_lang_decl PARAMS ((FILE *, tree, int)); -extern void print_lang_identifier PARAMS ((FILE *, tree, int)); -extern void print_lang_type PARAMS ((FILE *, tree, int)); extern void push_label_level PARAMS ((void)); extern void push_parm_decl PARAMS ((tree)); -extern tree pushdecl PARAMS ((tree)); extern tree pushdecl_top_level PARAMS ((tree)); -extern void pushlevel PARAMS ((int)); extern void pushtag PARAMS ((tree, tree)); -extern void set_block PARAMS ((tree)); +extern tree set_array_declarator_type PARAMS ((tree, tree, int)); extern tree shadow_label PARAMS ((tree)); extern void shadow_record_fields PARAMS ((tree)); extern void shadow_tag PARAMS ((tree)); @@ -230,10 +211,11 @@ extern tree start_decl PARAMS ((tree, tree, int, extern tree start_struct PARAMS ((enum tree_code, tree)); extern void store_parm_decls PARAMS ((void)); extern tree xref_tag PARAMS ((enum tree_code, tree)); +extern tree c_begin_compound_stmt PARAMS ((void)); +extern void c_expand_decl_stmt PARAMS ((tree)); /* in c-typeck.c */ extern tree require_complete_type PARAMS ((tree)); -extern void incomplete_type_error PARAMS ((tree, tree)); extern int comptypes PARAMS ((tree, tree)); extern tree c_sizeof PARAMS ((tree)); extern tree c_sizeof_nowarn PARAMS ((tree)); @@ -244,15 +226,13 @@ extern tree build_component_ref PARAMS ((tree, tree)); extern tree build_indirect_ref PARAMS ((tree, const char *)); extern tree build_array_ref PARAMS ((tree, tree)); extern tree build_external_ref PARAMS ((tree, int)); -extern tree build_function_call PARAMS ((tree, tree)); extern tree parser_build_binary_op PARAMS ((enum tree_code, tree, tree)); -extern int lvalue_or_else PARAMS ((tree, const char *)); extern void readonly_warning PARAMS ((tree, const char *)); -extern int mark_addressable PARAMS ((tree)); extern tree build_conditional_expr PARAMS ((tree, tree, tree)); extern tree build_compound_expr PARAMS ((tree)); -extern tree build_c_cast PARAMS ((tree, tree)); +extern tree c_cast_expr PARAMS ((tree, tree)); +extern tree build_c_cast PARAMS ((tree, tree)); extern tree build_modify_expr PARAMS ((tree, enum tree_code, tree)); extern void store_init_value PARAMS ((tree, tree)); @@ -268,6 +248,11 @@ extern void set_init_label PARAMS ((tree)); extern void process_init_element PARAMS ((tree)); extern void pedwarn_c99 PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +extern tree c_start_case PARAMS ((tree)); +extern void c_finish_case PARAMS ((void)); +extern tree simple_asm_stmt PARAMS ((tree)); +extern tree build_asm_stmt PARAMS ((tree, tree, tree, + tree, tree)); /* Set to 0 at beginning of a function definition, set to 1 if a return statement that specifies a return value is seen. */ @@ -334,10 +319,6 @@ extern int warn_cast_qual; extern int warn_bad_function_cast; -/* Warn about functions which might be candidates for attribute noreturn. */ - -extern int warn_missing_noreturn; - /* Warn about traditional constructs whose meanings changed in ANSI C. */ extern int warn_traditional; @@ -370,10 +351,6 @@ extern int warn_float_equal; extern int warn_multichar; -/* Warn about long long. */ - -extern int warn_long_long; - /* Nonzero means we are reading code that came from a system header file. */ extern int system_header_p; @@ -381,12 +358,7 @@ extern int system_header_p; /* Warn about implicit declarations. 1 = warning, 2 = error. */ extern int mesg_implicit_function_declaration; -/* Nonzero enables objc features. */ - -#define doing_objc_thang \ - (c_language == clk_objective_c) - /* In c-decl.c */ extern void finish_incomplete_decl PARAMS ((tree)); -#endif /* not _C_TREE_H */ +#endif /* ! GCC_C_TREE_H */