comparison gcc/c/c-tree.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children d34655255c78 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Definitions for C parsing and type checking. 1 /* Definitions for C parsing and type checking.
2 Copyright (C) 1987-2017 Free Software Foundation, Inc. 2 Copyright (C) 1987-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it under 6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free 7 the terms of the GNU General Public License as published by the Free
100 N.B. Could be simplified if all built-in decls had complete prototypes 100 N.B. Could be simplified if all built-in decls had complete prototypes
101 (but this is presently difficult because some of them need FILE*). */ 101 (but this is presently difficult because some of them need FILE*). */
102 #define C_DECL_ISNT_PROTOTYPE(EXP) \ 102 #define C_DECL_ISNT_PROTOTYPE(EXP) \
103 (EXP == 0 \ 103 (EXP == 0 \
104 || (!prototype_p (TREE_TYPE (EXP)) \ 104 || (!prototype_p (TREE_TYPE (EXP)) \
105 && !DECL_BUILT_IN (EXP))) 105 && !fndecl_built_in_p (EXP)))
106 106
107 /* For FUNCTION_TYPE, a hidden list of types of arguments. The same as 107 /* For FUNCTION_TYPE, a hidden list of types of arguments. The same as
108 TYPE_ARG_TYPES for functions with prototypes, but created for functions 108 TYPE_ARG_TYPES for functions with prototypes, but created for functions
109 without prototypes. */ 109 without prototypes. */
110 #define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_LANG_SLOT_1 (NODE) 110 #define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_LANG_SLOT_1 (NODE)
638 struct c_expr); 638 struct c_expr);
639 extern struct c_expr default_function_array_read_conversion (location_t, 639 extern struct c_expr default_function_array_read_conversion (location_t,
640 struct c_expr); 640 struct c_expr);
641 extern struct c_expr convert_lvalue_to_rvalue (location_t, struct c_expr, 641 extern struct c_expr convert_lvalue_to_rvalue (location_t, struct c_expr,
642 bool, bool); 642 bool, bool);
643 extern tree decl_constant_value_1 (tree, bool);
643 extern void mark_exp_read (tree); 644 extern void mark_exp_read (tree);
644 extern tree composite_type (tree, tree); 645 extern tree composite_type (tree, tree);
645 extern tree build_component_ref (location_t, tree, tree, location_t); 646 extern tree build_component_ref (location_t, tree, tree, location_t);
646 extern tree build_array_ref (location_t, tree, tree); 647 extern tree build_array_ref (location_t, tree, tree);
647 extern tree build_external_ref (location_t, tree, bool, tree *); 648 extern tree build_external_ref (location_t, tree, bool, tree *);
669 location_t); 670 location_t);
670 extern void set_init_index (location_t, tree, tree, struct obstack *); 671 extern void set_init_index (location_t, tree, tree, struct obstack *);
671 extern void set_init_label (location_t, tree, location_t, struct obstack *); 672 extern void set_init_label (location_t, tree, location_t, struct obstack *);
672 extern void process_init_element (location_t, struct c_expr, bool, 673 extern void process_init_element (location_t, struct c_expr, bool,
673 struct obstack *); 674 struct obstack *);
674 extern tree build_compound_literal (location_t, tree, tree, bool); 675 extern tree build_compound_literal (location_t, tree, tree, bool,
676 unsigned int);
675 extern void check_compound_literal_type (location_t, struct c_type_name *); 677 extern void check_compound_literal_type (location_t, struct c_type_name *);
676 extern tree c_start_case (location_t, location_t, tree, bool); 678 extern tree c_start_case (location_t, location_t, tree, bool);
677 extern void c_finish_case (tree, tree); 679 extern void c_finish_case (tree, tree);
678 extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool); 680 extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool);
679 extern tree build_asm_stmt (tree, tree); 681 extern tree build_asm_stmt (tree, tree);
758 /* In c-errors.c */ 760 /* In c-errors.c */
759 extern bool pedwarn_c90 (location_t, int opt, const char *, ...) 761 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
760 ATTRIBUTE_GCC_DIAG(3,4); 762 ATTRIBUTE_GCC_DIAG(3,4);
761 extern bool pedwarn_c99 (location_t, int opt, const char *, ...) 763 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
762 ATTRIBUTE_GCC_DIAG(3,4); 764 ATTRIBUTE_GCC_DIAG(3,4);
765 extern bool pedwarn_c11 (location_t, int opt, const char *, ...)
766 ATTRIBUTE_GCC_DIAG(3,4);
763 767
764 extern void 768 extern void
765 set_c_expr_source_range (c_expr *expr, 769 set_c_expr_source_range (c_expr *expr,
766 location_t start, location_t finish); 770 location_t start, location_t finish);
767 771
768 extern void 772 extern void
769 set_c_expr_source_range (c_expr *expr, 773 set_c_expr_source_range (c_expr *expr,
770 source_range src_range); 774 source_range src_range);
771 775
772 /* In c-fold.c */ 776 /* In c-fold.c */
773 extern tree decl_constant_value_for_optimization (tree);
774
775 extern vec<tree> incomplete_record_decls; 777 extern vec<tree> incomplete_record_decls;
776 778
777 #if CHECKING_P 779 #if CHECKING_P
778 namespace selftest { 780 namespace selftest {
779 extern void run_c_tests (void); 781 extern void run_c_tests (void);