|
|
1.1 ! root 1: /* Definitions for C parsing and type checking. ! 2: Copyright (C) 1987 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU CC. ! 5: ! 6: GNU CC is distributed in the hope that it will be useful, ! 7: but WITHOUT ANY WARRANTY. No author or distributor ! 8: accepts responsibility to anyone for the consequences of using it ! 9: or for whether it serves any particular purpose or works at all, ! 10: unless he says so in writing. Refer to the GNU CC General Public ! 11: License for full details. ! 12: ! 13: Everyone is granted permission to copy, modify and redistribute ! 14: GNU CC, but only under the conditions described in the ! 15: GNU CC General Public License. A copy of this license is ! 16: supposed to have been given to you along with GNU CC so you ! 17: can know your rights and responsibilities. It should be in a ! 18: file named COPYING. Among other things, the copyright notice ! 19: and this notice must be preserved on all copies. */ ! 20: ! 21: /* Nonzero means reject anything that ANSI standard C forbids. */ ! 22: extern int pedantic; ! 23: ! 24: /* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is read-only. */ ! 25: #define C_TYPE_FIELDS_READONLY(type) TYPE_SEP_UNIT (type) ! 26: ! 27: /* in typecheck.c */ ! 28: extern tree build_component_ref(), build_conditional_expr(), build_compound_expr(); ! 29: extern tree build_unary_op(), build_binary_op(), build_function_call(); ! 30: extern tree build_binary_op_nodefault (); ! 31: extern tree build_indirect_ref(), build_array_ref(), build_c_cast(); ! 32: extern tree build_modify_expr(); ! 33: extern tree c_sizeof (), c_alignof (); ! 34: extern void store_init_value (); ! 35: extern tree digest_init (); ! 36: extern tree c_expand_start_case (); ! 37: extern tree default_conversion (); ! 38: ! 39: /* Given two integer or real types, return the type for their sum. ! 40: Given two compatible ANSI C types, returns the merged type. */ ! 41: ! 42: extern tree commontype (); ! 43: ! 44: /* in decl.c */ ! 45: extern tree build_label (); ! 46: ! 47: extern int start_function (); ! 48: extern void finish_function (); ! 49: extern void store_parm_decls (); ! 50: extern tree get_parm_info (); ! 51: ! 52: extern void pushlevel(), poplevel(); ! 53: ! 54: extern tree groktypename(), lookup_name(); ! 55: ! 56: extern tree lookup_label(), define_label(); ! 57: ! 58: extern tree implicitly_declare(), getdecls(), gettags (); ! 59: ! 60: extern tree start_decl(); ! 61: extern void finish_decl(); ! 62: ! 63: extern tree start_struct(), finish_struct(), xref_tag(); ! 64: extern tree grokfield(); ! 65: ! 66: extern tree start_enum(), finish_enum(); ! 67: extern tree build_enumerator(); ! 68: ! 69: extern tree make_index_type (); ! 70: ! 71: extern tree double_type_node, long_double_type_node, float_type_node; ! 72: extern tree char_type_node, unsigned_char_type_node, signed_char_type_node; ! 73: ! 74: extern tree short_integer_type_node, short_unsigned_type_node; ! 75: extern tree long_integer_type_node, long_unsigned_type_node; ! 76: extern tree unsigned_type_node; ! 77: extern tree string_type_node, char_array_type_node, int_array_type_node; ! 78: ! 79: extern int current_function_returns_value; ! 80: extern int current_function_returns_null; ! 81: ! 82: extern void yyerror(); ! 83: extern int lineno; ! 84: ! 85: extern tree ridpointers[]; ! 86: ! 87: /* Points to the FUNCTION_DECL of the function whose body we are reading. */ ! 88: extern tree current_function_decl;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.