comparison gcc/c/c-tree.h @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents bdf41c9fa0b7 84e7813d76e9
children 351920fa3827
comparison
equal deleted inserted replaced
130:e108057fa461 132:d34655255c78
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)
645 struct c_expr); 645 struct c_expr);
646 extern struct c_expr default_function_array_read_conversion (location_t, 646 extern struct c_expr default_function_array_read_conversion (location_t,
647 struct c_expr); 647 struct c_expr);
648 extern struct c_expr convert_lvalue_to_rvalue (location_t, struct c_expr, 648 extern struct c_expr convert_lvalue_to_rvalue (location_t, struct c_expr,
649 bool, bool); 649 bool, bool);
650 extern tree decl_constant_value_1 (tree, bool);
650 extern void mark_exp_read (tree); 651 extern void mark_exp_read (tree);
651 extern tree composite_type (tree, tree); 652 extern tree composite_type (tree, tree);
652 extern tree build_component_ref (location_t, tree, tree, location_t); 653 extern tree build_component_ref (location_t, tree, tree, location_t);
653 extern tree build_array_ref (location_t, tree, tree); 654 extern tree build_array_ref (location_t, tree, tree);
654 extern tree build_external_ref (location_t, tree, bool, tree *); 655 extern tree build_external_ref (location_t, tree, bool, tree *);
676 location_t); 677 location_t);
677 extern void set_init_index (location_t, tree, tree, struct obstack *); 678 extern void set_init_index (location_t, tree, tree, struct obstack *);
678 extern void set_init_label (location_t, tree, location_t, struct obstack *); 679 extern void set_init_label (location_t, tree, location_t, struct obstack *);
679 extern void process_init_element (location_t, struct c_expr, bool, 680 extern void process_init_element (location_t, struct c_expr, bool,
680 struct obstack *); 681 struct obstack *);
681 extern tree build_compound_literal (location_t, tree, tree, bool); 682 extern tree build_compound_literal (location_t, tree, tree, bool,
683 unsigned int);
682 extern void check_compound_literal_type (location_t, struct c_type_name *); 684 extern void check_compound_literal_type (location_t, struct c_type_name *);
683 extern tree c_start_case (location_t, location_t, tree, bool); 685 extern tree c_start_case (location_t, location_t, tree, bool);
684 extern void c_finish_case (tree, tree); 686 extern void c_finish_case (tree, tree);
685 extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool); 687 extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool);
686 extern tree build_asm_stmt (tree, tree); 688 extern tree build_asm_stmt (tree, tree);
765 /* In c-errors.c */ 767 /* In c-errors.c */
766 extern bool pedwarn_c90 (location_t, int opt, const char *, ...) 768 extern bool pedwarn_c90 (location_t, int opt, const char *, ...)
767 ATTRIBUTE_GCC_DIAG(3,4); 769 ATTRIBUTE_GCC_DIAG(3,4);
768 extern bool pedwarn_c99 (location_t, int opt, const char *, ...) 770 extern bool pedwarn_c99 (location_t, int opt, const char *, ...)
769 ATTRIBUTE_GCC_DIAG(3,4); 771 ATTRIBUTE_GCC_DIAG(3,4);
772 extern bool pedwarn_c11 (location_t, int opt, const char *, ...)
773 ATTRIBUTE_GCC_DIAG(3,4);
770 774
771 extern void 775 extern void
772 set_c_expr_source_range (c_expr *expr, 776 set_c_expr_source_range (c_expr *expr,
773 location_t start, location_t finish); 777 location_t start, location_t finish);
774 778
775 extern void 779 extern void
776 set_c_expr_source_range (c_expr *expr, 780 set_c_expr_source_range (c_expr *expr,
777 source_range src_range); 781 source_range src_range);
778 782
779 /* In c-fold.c */ 783 /* In c-fold.c */
780 extern tree decl_constant_value_for_optimization (tree);
781
782 extern vec<tree> incomplete_record_decls; 784 extern vec<tree> incomplete_record_decls;
783 785
784 #if CHECKING_P 786 #if CHECKING_P
785 namespace selftest { 787 namespace selftest {
786 extern void run_c_tests (void); 788 extern void run_c_tests (void);