#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "intl.h"#include "tree.h"#include "flags.h"#include "output.h"#include "c-pragma.h"#include "rtl.h"#include "ggc.h"#include "varray.h"#include "expr.h"#include "c-common.h"#include "diagnostic.h"#include "tm_p.h"#include "obstack.h"#include "cpplib.h"#include "target.h"#include "langhooks.h"#include "tree-inline.h"#include "c-tree.h"#include "toplev.h"#include "tree-iterator.h"#include "hashtab.h"#include "tree-mudflap.h"#include "opts.h"#include "real.h"#include "cgraph.h"#include "builtin-attrs.def"#include "builtin-types.def"#include "builtins.def"#include "gt-c-common.h"

Go to the source code of this file.
| #define catenate_messages | ( | M1, | |||
| M2 | ) | catenate_strings ((M1), (M2), sizeof (M2)) |
| #define DEF_ATTR_IDENT | ( | ENUM, | |||
| STRING | ) | ENUM, |
| #define DEF_ATTR_INT | ( | ENUM, | |||
| VALUE | ) | built_in_attributes[(int) ENUM] = build_int_cst (NULL_TREE, VALUE); |
| #define DEF_ATTR_INT | ( | ENUM, | |||
| VALUE | ) | ENUM, |
| #define DEF_ATTR_NULL_TREE | ( | ENUM | ) | built_in_attributes[(int) ENUM] = NULL_TREE; |
| #define DEF_ATTR_NULL_TREE | ( | ENUM | ) | ENUM, |
| #define DEF_BUILTIN | ( | ENUM, | |||
| NAME, | |||||
| CLASS, | |||||
| TYPE, | |||||
| LIBTYPE, | |||||
| BOTH_P, | |||||
| FALLBACK_P, | |||||
| NONANSI_P, | |||||
| ATTRS, | |||||
| IMPLICIT, | |||||
| COND | ) |
Value:
if (NAME && COND) \ def_builtin_1 (ENUM, NAME, CLASS, \ builtin_types[(int) TYPE], \ builtin_types[(int) LIBTYPE], \ BOTH_P, FALLBACK_P, NONANSI_P, \ built_in_attributes[(int) ATTRS], IMPLICIT);
| #define DEF_FUNCTION_TYPE_0 | ( | ENUM, | |||
| RETURN | ) | def_fn_type (ENUM, RETURN, 0, 0); |
| #define DEF_FUNCTION_TYPE_0 | ( | NAME, | |||
| RETURN | ) | NAME, |
| #define DEF_FUNCTION_TYPE_1 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1 | ) | def_fn_type (ENUM, RETURN, 0, 1, ARG1); |
| #define DEF_FUNCTION_TYPE_1 | ( | NAME, | |||
| RETURN, | |||||
| ARG1 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_2 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2 | ) | def_fn_type (ENUM, RETURN, 0, 2, ARG1, ARG2); |
| #define DEF_FUNCTION_TYPE_2 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_3 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3 | ) | def_fn_type (ENUM, RETURN, 0, 3, ARG1, ARG2, ARG3); |
| #define DEF_FUNCTION_TYPE_3 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_4 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4 | ) | def_fn_type (ENUM, RETURN, 0, 4, ARG1, ARG2, ARG3, ARG4); |
| #define DEF_FUNCTION_TYPE_4 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_5 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5 | ) | def_fn_type (ENUM, RETURN, 0, 5, ARG1, ARG2, ARG3, ARG4, ARG5); |
| #define DEF_FUNCTION_TYPE_5 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_6 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6 | ) | def_fn_type (ENUM, RETURN, 0, 6, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6); |
| #define DEF_FUNCTION_TYPE_6 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_7 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7 | ) | def_fn_type (ENUM, RETURN, 0, 7, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7); |
| #define DEF_FUNCTION_TYPE_7 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_8 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7, | |||||
| ARG8 | ) | def_fn_type (ENUM, RETURN, 0, 8, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8); |
| #define DEF_FUNCTION_TYPE_8 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7, | |||||
| ARG8 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_9 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7, | |||||
| ARG8, | |||||
| ARG9 | ) | def_fn_type (ENUM, RETURN, 0, 9, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9); |
| #define DEF_FUNCTION_TYPE_9 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5, | |||||
| ARG6, | |||||
| ARG7, | |||||
| ARG8, | |||||
| ARG9 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_0 | ( | ENUM, | |||
| RETURN | ) | def_fn_type (ENUM, RETURN, 1, 0); |
| #define DEF_FUNCTION_TYPE_VAR_0 | ( | NAME, | |||
| RETURN | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_1 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1 | ) | def_fn_type (ENUM, RETURN, 1, 1, ARG1); |
| #define DEF_FUNCTION_TYPE_VAR_1 | ( | NAME, | |||
| RETURN, | |||||
| ARG1 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_2 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2 | ) | def_fn_type (ENUM, RETURN, 1, 2, ARG1, ARG2); |
| #define DEF_FUNCTION_TYPE_VAR_2 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_3 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3 | ) | def_fn_type (ENUM, RETURN, 1, 3, ARG1, ARG2, ARG3); |
| #define DEF_FUNCTION_TYPE_VAR_3 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_4 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4 | ) | def_fn_type (ENUM, RETURN, 1, 4, ARG1, ARG2, ARG3, ARG4); |
| #define DEF_FUNCTION_TYPE_VAR_4 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4 | ) | NAME, |
| #define DEF_FUNCTION_TYPE_VAR_5 | ( | ENUM, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG5 | ) | def_fn_type (ENUM, RETURN, 1, 5, ARG1, ARG2, ARG3, ARG4, ARG5); |
| #define DEF_FUNCTION_TYPE_VAR_5 | ( | NAME, | |||
| RETURN, | |||||
| ARG1, | |||||
| ARG2, | |||||
| ARG3, | |||||
| ARG4, | |||||
| ARG6 | ) | NAME, |
| #define DEF_POINTER_TYPE | ( | ENUM, | |||
| TYPE | ) | builtin_types[(int) ENUM] = build_pointer_type (builtin_types[(int) TYPE]); |
| #define DEF_POINTER_TYPE | ( | NAME, | |||
| TYPE | ) | NAME, |
| #define DEF_PRIMITIVE_TYPE | ( | ENUM, | |||
| VALUE | ) | builtin_types[ENUM] = VALUE; |
| #define DEF_PRIMITIVE_TYPE | ( | NAME, | |||
| VALUE | ) | NAME, |
| #define INTMAX_TYPE |
Value:
((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ ? "int" \ : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ ? "long int" \ : "long long int"))
Definition at line 85 of file c-common.c.
| #define MODIFIED_WCHAR_TYPE (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE) |
Definition at line 73 of file c-common.c.
| #define PID_TYPE "int" |
Definition at line 65 of file c-common.c.
| #define PTRDIFF_TYPE "long int" |
Definition at line 77 of file c-common.c.
| #define SIZE_TYPE "long unsigned int" |
Definition at line 61 of file c-common.c.
| #define TYPE_OK | ( | node | ) |
Value:
(TYPE_MODE (type) == TYPE_MODE (node) \ && (c_dialect_cxx () || TYPE_PRECISION (type) == TYPE_PRECISION (node)))
| #define UINTMAX_TYPE |
Value:
((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ ? "unsigned int" \ : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ ? "long unsigned int" \ : "long long unsigned int"))
Definition at line 93 of file c-common.c.
| #define WCHAR_TYPE "int" |
Definition at line 69 of file c-common.c.
| #define WINT_TYPE "unsigned int" |
Definition at line 81 of file c-common.c.
| typedef enum c_builtin_type builtin_type |
Definition at line 3065 of file c-common.c.
| enum built_in_attribute |
Definition at line 3004 of file c-common.c.
Definition at line 4029 of file c-common.c.
References abort, boolean_true_node, build(), build2, c_bool_true_node, c_language, clk_cplusplus, gcc_unreachable, invert_truthvalue(), save_expr(), stabilize_reference(), TREE_SIDE_EFFECTS, TREE_TYPE, and val.
| static bool builtin_function_disabled_p | ( | const char * | name | ) | [static] |
Definition at line 3489 of file c-common.c.
References disabled_builtin::name, disabled_builtin::next, NULL, p, and strcmp().
| tree c_add_case_label | ( | splay_tree | cases, | |
| tree | cond, | |||
| tree | orig_type, | |||
| tree | low_value, | |||
| tree | high_value | |||
| ) |
Definition at line 3647 of file c-common.c.
References add_stmt(), build_case_label(), build_stmt(), CASE_HIGH, CASE_LABEL, check_case_bounds(), check_case_value(), convert_and_check(), create_artificial_label(), duplicate, error(), error_mark_node, splay_tree_node_s::key, node, NULL, NULL_TREE, pedantic, pedwarn(), POINTER_TYPE_P, splay_tree_s::root, splay_tree_insert(), splay_tree_lookup(), splay_tree_predecessor(), splay_tree_successor(), tree_int_cst_compare(), tree_int_cst_equal(), tree_int_cst_lt(), TREE_TYPE, splay_tree_node_s::value, and warning.
Definition at line 2961 of file c-common.c.
References BITS_PER_UNIT, build1, c_alignof, DECL_ALIGN, DECL_ALIGN_UNIT, DECL_C_BIT_FIELD, error(), fold(), fold_convert(), size_int, size_one_node, size_type_node, TREE_CODE, TREE_OPERAND, TREE_TYPE, and TYPE_ALIGN.
Definition at line 2668 of file c-common.c.
References C_TYPE_OBJECT_OR_INCOMPLETE_P, DECL_POINTER_ALIAS_SET, error(), error_mark_node, flag_strict_aliasing, POINTER_TYPE_P, TREE_CODE, TREE_READONLY, TREE_SIDE_EFFECTS, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_NEEDS_CONSTRUCTING, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, and TYPE_QUAL_VOLATILE.
| tree c_build_bitfield_integer_type | ( | unsigned HOST_WIDE_INT | width, | |
| int | unsignedp | |||
| ) |
Definition at line 1886 of file c-common.c.
References build_nonstandard_integer_type(), integer_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TYPE_PRECISION, unsigned_char_type_node, and unsigned_type_node.
Definition at line 2622 of file c-common.c.
References attribute_list_equal(), build_array_type(), build_qualified_type(), build_variant_type_copy(), c_build_qualified_type(), C_TYPE_OBJECT_OR_INCOMPLETE_P, error(), error_mark_node, POINTER_TYPE_P, strip_array_types(), TREE_CODE, TREE_TYPE, TYPE_ATTRIBUTES, TYPE_CONTEXT, TYPE_DOMAIN, TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_NEXT_VARIANT, TYPE_QUAL_RESTRICT, and TYPE_QUALS.
Definition at line 3115 of file c-common.c.
References build_array_type(), build_common_builtin_nodes(), build_common_tree_nodes_2(), build_decl, build_function_type(), build_index_type(), build_pointer_type(), build_qualified_type(), build_reference_type(), build_variant_type_copy(), build_void_list_node(), builtin_types, c_common_signed_type(), c_common_type_for_size(), c_common_unsigned_type(), c_dialect_cxx, c_init_attributes(), char_array_type_node, char_type_node, complex_double_type_node, complex_float_type_node, complex_integer_type_node, complex_long_double_type_node, const_string_type_node, default_function_type, dfloat128_type_node, dfloat32_type_node, dfloat64_type_node, double_type_node, fileptr_type_node, flag_short_double, float_type_node, get_identifier(), HOST_BITS_PER_WIDE_INT, identifier_global_value(), gcc_target::init_builtins, int, int_array_type_node, intDI_type_node, integer_type_node, intHI_type_node, INTMAX_TYPE, intmax_type_node, intQI_type_node, intSI_type_node, intTI_type_node, long_double_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, main_identifier_node, make_node, make_signed_type(), make_unsigned_type(), memset, MODIFIED_WCHAR_TYPE, mudflap_init(), NULL, null_node, NULL_TREE, PID_TYPE, pid_type_node, POINTER_SIZE, ptr_type_node, PTRDIFF_TYPE, ptrdiff_type_node, record_builtin_type(), RID_CHAR, RID_DFLOAT128, RID_DFLOAT32, RID_DFLOAT64, RID_DOUBLE, RID_FLOAT, RID_INT, RID_LONG, RID_MAX, RID_SHORT, RID_SIGNED, RID_UNSIGNED, RID_VOID, RID_WCHAR, gcc_target::scalar_mode_supported_p, set_sizetype(), short_integer_type_node, short_unsigned_type_node, signed_char_type_node, signed_size_type_node, signed_wchar_type_node, size_int, SIZE_TYPE, size_type_node, string_type_node, targetm, TREE_CODE, TREE_TYPE, TYPE_PRECISION, TYPE_QUAL_CONST, TYPE_UNSIGNED, UINTMAX_TYPE, uintmax_type_node, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, unsigned_ptrdiff_type_node, unsigned_type_node, unsigned_wchar_type_node, va_list_arg_type_node, va_list_ref_type_node, va_list_type_node, void_list_node, void_type_node, void_zero_node, wchar_array_type_node, wchar_type_node, widest_integer_literal_type_node, widest_unsigned_literal_type_node, WINT_TYPE, and wint_type_node.
Referenced by c_init_decl_processing(), and cxx_init_decl_processing().
Definition at line 1830 of file c-common.c.
References build_nonstandard_integer_type(), c_dialect_cxx, intDI_type_node, integer_type_node, INTEGRAL_TYPE_P, intHI_type_node, intQI_type_node, intSI_type_node, intTI_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TREE_UNSIGNED, TYPE_OK, TYPE_PRECISION, TYPE_UNSIGNED, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, unsigned_type_node, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
Definition at line 1795 of file c-common.c.
References c_common_signed_or_unsigned_type(), char_type_node, intDI_type_node, integer_type_node, intHI_type_node, intQI_type_node, intSI_type_node, intTI_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TYPE_MAIN_VARIANT, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, unsigned_type_node, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
| HOST_WIDE_INT c_common_to_target_charset | ( | HOST_WIDE_INT | c | ) |
Definition at line 6020 of file c-common.c.
References CHAR_BIT, CHAR_TYPE_SIZE, cpp_host_to_exec_charset(), flag_signed_char, HOST_BITS_PER_WIDE_INT, and HOST_WIDE_INT.
Definition at line 2466 of file c-common.c.
References boolean_false_node, boolean_true_node, boolean_type_node, build(), build1, build2, build_binary_op(), build_unary_op(), c_common_truthvalue_conversion(), C_EXP_ORIGINAL_CODE, COMPLEX_TYPE, dconst0, DECL_EXTERNAL, DECL_P, DECL_WEAK, error(), fold(), fold_build3, HONOR_INFINITIES, integer_onep(), integer_zero_node, integer_zerop(), real_compare(), real_zerop(), save_expr(), TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_NO_WARNING, TREE_OPERAND, TREE_REAL_CST, TREE_SIDE_EFFECTS, TREE_TYPE, truthvalue_false_node, truthvalue_true_node, truthvalue_type_node, TYPE_MODE, TYPE_PRECISION, warn_parentheses, and warning.
| tree c_common_type_for_size | ( | unsigned int | bits, | |
| int | unsignedp | |||
| ) |
Definition at line 1609 of file c-common.c.
References intDI_type_node, integer_type_node, intHI_type_node, intQI_type_node, intSI_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TYPE_PRECISION, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_type_node, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
Definition at line 1761 of file c-common.c.
References c_common_signed_or_unsigned_type(), char_type_node, intDI_type_node, integer_type_node, intHI_type_node, intQI_type_node, intSI_type_node, intTI_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TYPE_MAIN_VARIANT, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, unsigned_type_node, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
Definition at line 5009 of file c-common.c.
References DECL_ATTRIBUTES, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, default_visibility, gcc_assert, visibility_flags::inpragma, lookup_attribute(), TARGET_DLLIMPORT_DECL_ATTRIBUTES, TREE_CODE, VISIBILITY_DEFAULT, and visibility_options.
| void c_do_switch_warnings | ( | splay_tree | cases, | |
| location_t | switch_location, | |||
| tree | type, | |||
| tree | cond | |||
| ) |
Definition at line 3869 of file c-common.c.
References CASE_HIGH, CASE_HIGH_SEEN, CASE_LOW_SEEN, match_case_to_enum(), node, NULL, NULL_TREE, splay_tree_foreach(), splay_tree_lookup(), splay_tree_predecessor(), TREE_CHAIN, TREE_CODE, tree_int_cst_compare(), TREE_PURPOSE, TREE_VALUE, TYPE_VALUES, splay_tree_node_s::value, warn_switch, warn_switch_default, warn_switch_enum, and warning.
| int c_expand_decl | ( | tree | decl | ) |
Definition at line 774 of file c-common.c.
References anon_aggr_type_p(), DECL_ANON_UNION_ELEMS, emit_local_var(), expand_anon_union_decl(), NULL_TREE, TREE_CODE, TREE_STATIC, and TREE_TYPE.
| rtx c_expand_expr | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | tmode, | |||
| int | modifier, | |||
| rtx * | alt_rtl | |||
| ) |
Definition at line 3994 of file c-common.c.
References COMPOUND_LITERAL_EXPR_DECL, emit_local_var(), expand_expr_real(), gcc_unreachable, and TREE_CODE.
Definition at line 4078 of file c-common.c.
Definition at line 5889 of file c-common.c.
References catenate_messages, cpp_type2name(), error(), free(), IDENTIFIER_POINTER, ISGRAPH, N_TTYPES, NULL, TREE_INT_CST_LOW, UCHAR_MAX, and val.
Definition at line 3543 of file c-common.c.
References char_type_node, integer_type_node, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TREE_CODE, TYPE_MAIN_VARIANT, TYPE_PRECISION, and unsigned_char_type_node.
Definition at line 1911 of file c-common.c.
References build_decl, DECL_ARTIFICIAL, get_identifier(), pushdecl(), tree_cons, and TYPE_NAME.
Definition at line 2901 of file c-common.c.
References BITS_PER_UNIT, char_type_node, COMPLETE_TYPE_P, error(), fold_convert(), FUNCTION_BOUNDARY, gcc_assert, NULL, op_name, pedantic, pedwarn(), size_binop(), size_int, size_one_node, size_type_node, size_zero_node, TREE_CODE, TREE_TYPE, TYPE_ALIGN_UNIT, TYPE_IS_SIZETYPE, TYPE_PRECISION, TYPE_SIZE_UNIT, and warn_pointer_arith.
Definition at line 4017 of file c-common.c.
References COMPOUND_LITERAL_EXPR_DECL, NULL, TREE_CODE, and TREE_STATIC.
Definition at line 4067 of file c-common.c.
References builtin_define_with_value(), INTMAX_TYPE, MODIFIED_WCHAR_TYPE, PTRDIFF_TYPE, SIZE_TYPE, UINTMAX_TYPE, and WINT_TYPE.
Definition at line 2713 of file c-common.c.
References c_type_hash(), gcc_unreachable, i, shift, size, t2, TREE_CHAIN, TREE_CODE, TREE_INT_CST_LOW, TREE_TYPE, TYPE_FIELDS, TYPE_SIZE, and TYPE_VALUES.
Definition at line 5948 of file c-common.c.
References BIND_EXPR_BODY, c_warn_unused_result(), CATCH_BODY, COND_EXPR_ELSE, COND_EXPR_THEN, EH_FILTER_FAILURE, EXPR_LOCUS, get_callee_fndecl(), i, lookup_attribute(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_USED, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt_ptr(), TYPE_ATTRIBUTES, and warning.
| int case_compare | ( | splay_tree_key | k1, | |
| splay_tree_key | k2 | |||
| ) |
| static char* catenate_strings | ( | const char * | lhs, | |
| const char * | rhs_start, | |||
| int | rhs_size | |||
| ) | [static] |
| static bool check_case_bounds | ( | tree | type, | |
| tree | orig_type, | |||
| tree * | case_low_p, | |||
| tree * | case_high_p | |||
| ) | [static] |
Definition at line 1549 of file c-common.c.
References convert(), error_mark_node, tree_int_cst_compare(), TYPE_MAX_VALUE, TYPE_MIN_VALUE, and warning.
Definition at line 1937 of file c-common.c.
References c_language, clk_cplusplus, constant_expression_warning(), decl_constant_value(), default_conversion(), error(), error_mark_node, fold(), NULL_TREE, STRIP_TYPE_NOPS, and TREE_CODE.
Referenced by c_add_case_label().
Definition at line 5703 of file c-common.c.
References check_function_format(), check_function_nonnull(), check_function_sentinel(), warn_format, warn_missing_format_attribute, and warn_nonnull.
| void check_function_arguments_recurse | ( | void(*)(void *, tree, unsigned HOST_WIDE_INT) | callback, | |
| void * | ctx, | |||
| tree | param, | |||
| unsigned HOST_WIDE_INT | param_num | |||
| ) |
Definition at line 5724 of file c-common.c.
References callback(), check_function_arguments_recurse(), gcc_assert, i, is_attribute_p(), TREE_CHAIN, TREE_CODE, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_ATTRIBUTES, and TYPE_PRECISION.
Definition at line 5418 of file c-common.c.
References a, check_function_arguments_recurse(), check_nonnull_arg(), is_attribute_p(), nonnull_check_p(), NULL, TREE_CHAIN, TREE_PURPOSE, and TREE_VALUE.
Definition at line 5451 of file c-common.c.
References end, integer_zerop(), lookup_attribute(), null_node, p, POINTER_TYPE_P, pos(), TREE_CHAIN, TREE_INT_CST_LOW, TREE_TYPE, TREE_VALUE, warn_strict_null_sentinel, and warning.
Definition at line 6451 of file c-common.c.
References is_attribute_p(), TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, and TYPE_ATTRIBUTES.
Referenced by convert_for_arg_passing(), and convert_for_assignment().
| static void check_nonnull_arg | ( | void * | ARG_UNUSEDctx, | |
| tree | param, | |||
| unsigned HOST_WIDE_INT | param_num | |||
| ) | [static] |
Definition at line 5541 of file c-common.c.
References integer_zerop(), TREE_CODE, TREE_TYPE, and warning.
Definition at line 6160 of file c-common.c.
References build_distinct_type_copy(), build_index_type(), c_build_qualified_type(), constructor_elt, CONSTRUCTOR_ELTS, error_mark_node, failure, fold_convert(), HOST_WIDE_INT, index(), int_size_in_bytes(), integer_minus_one_node, layout_type(), NULL, pedantic, size_binop(), size_int, size_one_node, size_zero_node, sizetype, strip_array_types(), TREE_CHAIN, TREE_CODE, tree_int_cst_lt(), TREE_PURPOSE, TREE_STRING_LENGTH, TREE_TYPE, TYPE_DOMAIN, TYPE_MAIN_VARIANT, TYPE_QUALS, TYPE_UNQUALIFIED, VEC, VEC_empty, VEC_index, and VEC_iterate.
Definition at line 908 of file c-common.c.
References pedantic, pedwarn(), TREE_CODE, and TREE_CONSTANT_OVERFLOW.
Definition at line 1051 of file c-common.c.
References convert(), int_fits_type_p(), TREE_CODE, and TREE_OVERFLOW.
Definition at line 1079 of file c-common.c.
References c_common_unsigned_type(), CONSTANT_CLASS_P, constant_fits_type_p(), convert(), pedantic, skip_evaluation, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_OVERFLOW, TREE_TYPE, TREE_UNSIGNED, TYPE_PRECISION, TYPE_UNSIGNED, unsigned_conversion_warning(), and warning.
| static void def_builtin_1 | ( | enum built_in_function | fncode, | |
| const char * | name, | |||
| enum built_in_class | fnclass, | |||
| tree | fntype, | |||
| tree | libtype, | |||
| bool | both_p, | |||
| bool | fallback_p, | |||
| bool | nonansi_p, | |||
| tree | fnattrs, | |||
| bool | implicit_p | |||
| ) | [static] |
Definition at line 3507 of file c-common.c.
References built_in_decls, builtin_function_disabled_p(), error_mark_node, flag_no_builtin, flag_no_nonansi_builtin, gcc_assert, implicit_built_in_decls, int, NULL, strlen(), and strncmp().
| static void def_fn_type | ( | builtin_type | def, | |
| builtin_type | ret, | |||
| bool | var, | |||
| int | n, | |||
| ... | ||||
| ) | [static] |
Definition at line 3081 of file c-common.c.
References a, args, build_function_type(), builtin_types, chainon(), error_mark_node, i, nreverse(), NULL, NULL_TREE, tree_cons, va_arg, va_end, va_start, and void_list_node.
| void disable_builtin_function | ( | const char * | name | ) |
Definition at line 3471 of file c-common.c.
References error(), disabled_builtin::name, disabled_builtin::next, strlen(), strncmp(), and XNEW.
Definition at line 1024 of file c-common.c.
References EXPR_LOCUS, extra_warnings, IS_EMPTY_STMT, STATEMENT_LIST_TAIL, TREE_CODE, and warning.
Referenced by c_finish_if_stmt(), and finish_if_stmt().
Definition at line 689 of file c-common.c.
References append_to_statement_list(), append_to_statement_list_force(), BIND_EXPR_BODY, build_stmt(), chainon(), COMPOUND_STMT_NO_SCOPE, current_function_decl, fname_var_t::decl, DECL_SAVED_TREE, NULL_TREE, saved_function_name_decls, stack, TREE_CHAIN, TREE_CODE, TREE_INT_CST_LOW, TREE_PURPOSE, and TREE_VALUE.
Definition at line 3963 of file c-common.c.
References build1, c_language, clk_cplusplus, error_mark_node, lookup_label(), null_pointer_node, NULL_TREE, pedantic, pedwarn(), ptr_type_node, result, TREE_CONSTANT, and TREE_USED.
Definition at line 843 of file c-common.c.
References BITS_PER_UNIT, build_array_type(), build_index_type(), build_int_2, build_int_cst(), build_type_variant, c_build_qualified_type(), c_dialect_cxx, c_language, char_type_node, clk_c, flag_const_strings, flag_isoc99, flag_writable_strings, length, NULL_TREE, pedantic, pedwarn(), TREE_CONSTANT, TREE_INVARIANT, TREE_READONLY, TREE_STATIC, TREE_STRING_LENGTH, TREE_TYPE, TYPE_PRECISION, TYPE_QUAL_CONST, warn_write_strings, wchar_array_type_node, wchar_type_node, and wide_flag.
| const char* fname_as_string | ( | int | pretty_p | ) |
Definition at line 733 of file c-common.c.
References c_lex_string_translate, cpp_interpret_string(), current_function_decl, DECL_NAME, IDENTIFIER_POINTER, len, NULL, snprintf(), strlen(), cpp_string::text, XDELETEVEC, XNEWVEC, and xstrdup().
Definition at line 800 of file c-common.c.
References current_function_decl, fname_var_t::decl, input_line, input_location, IS_EMPTY_STMT, NULL_TREE, pedwarn(), pop_stmt_list(), fname_var_t::pretty, push_stmt_list(), saved_function_name_decls, tree_cons, and UNKNOWN_LOCATION.
Definition at line 6120 of file c-common.c.
References convert(), fold_offsetof_1(), and size_type_node.
Definition at line 6043 of file c-common.c.
References base, BITS_PER_UNIT, convert(), DECL_C_BIT_FIELD, DECL_FIELD_BIT_OFFSET, DECL_FIELD_OFFSET, error(), error_mark_node, fold_build1, fold_offsetof_1(), gcc_assert, gcc_unreachable, integer_zerop(), size_binop(), size_int, size_zero_node, sizetype, TREE_CODE, tree_int_cst_sgn(), tree_low_cst(), TREE_OPERAND, TREE_TYPE, and TYPE_SIZE_UNIT.
Definition at line 5560 of file c-common.c.
References TREE_CODE, TREE_INT_CST_HIGH, and TREE_INT_CST_LOW.
| static GTY | ( | (param_is(union tree_node)) | ) | [static] |
Definition at line 2750 of file c-common.c.
References build_type_no_quals(), c_common_signed_type(), c_language, c_type_hash(), char_type_node, clk_c, flag_isoc99, get_alias_set(), htab_create_ggc, htab_find_slot(), INSERT, lookup_attribute(), NULL, num_in_fnames, POINTER_TYPE_P, PTR, signed_char_type_node, t1, t2, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_ALIAS_SET, TYPE_ATTRIBUTES, TYPE_P, TYPE_SIZE, TYPE_UNSIGNED, and unsigned_char_type_node.
| static GTY | ( | () | ) | [static] |
Definition at line 1648 of file c-common.c.
References build_complex_type(), build_pointer_type(), build_vector_type_for_mode(), c_common_type_for_mode(), char_type_node, complex_double_type_node, complex_float_type_node, complex_integer_type_node, complex_long_double_type_node, COMPLEX_MODE_P, dfloat128_type_node, dfloat32_type_node, dfloat64_type_node, double_type_node, float_type_node, GET_MODE_INNER, GET_MODE_PRECISION, intDI_type_node, integer_type_node, intHI_type_node, intQI_type_node, intSI_type_node, intTI_type_node, long_double_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, make_signed_type(), make_unsigned_type(), NULL_TREE, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TREE_CHAIN, TREE_VALUE, TYPE_MODE, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, unsigned_type_node, VECTOR_MODE_P, void_type_node, widest_integer_literal_type_node, and widest_unsigned_literal_type_node.
| static tree handle_alias_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4810 of file c-common.c.
References current_function_decl, DECL_ATTRIBUTES, DECL_EXTERNAL, decl_function_context(), DECL_INITIAL, error(), error_mark_node, get_identifier(), lookup_attribute(), NULL, NULL_TREE, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_STRING_POINTER, TREE_USED, TREE_VALUE, and warning.
| static tree handle_aligned_attribute | ( | tree * | node, | |
| tree | ARG_UNUSEDname, | |||
| tree | args, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4718 of file c-common.c.
References ATTR_FLAG_TYPE_IN_PLACE, BIGGEST_ALIGNMENT, BITS_PER_UNIT, build_variant_type_copy(), DECL_ALIGN, DECL_ORIGINAL_TYPE, DECL_P, DECL_USER_ALIGN, error(), error_mark_node, HOST_BITS_PER_INT, i, NULL, NULL_TREE, size_int, TREE_CODE, tree_log2(), TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_ALIGN, TYPE_NAME, TYPE_P, and TYPE_USER_ALIGN.
| static tree handle_cleanup_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5594 of file c-common.c.
References error(), lookup_name(), NULL_TREE, TREE_CODE, TREE_STATIC, TREE_VALUE, and warning.
| static tree handle_common_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4159 of file c-common.c.
References DECL_COMMON, NULL_TREE, TREE_CODE, and warning.
| static tree handle_const_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4378 of file c-common.c.
References build_pointer_type(), build_type_variant, NULL_TREE, TREE_CODE, TREE_READONLY, TREE_THIS_VOLATILE, TREE_TYPE, and warning.
| static tree handle_constructor_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4453 of file c-common.c.
References decl_function_context(), DECL_STATIC_CONSTRUCTOR, NULL_TREE, TREE_CODE, TREE_TYPE, TREE_USED, and warning.
| static tree handle_deprecated_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5212 of file c-common.c.
References ATTR_FLAG_TYPE_IN_PLACE, build_variant_type_copy(), DECL_NAME, DECL_P, NULL_TREE, TREE_CODE, TREE_DEPRECATED, TREE_TYPE, TYPE_NAME, TYPE_P, warn(), and warning.
| static tree handle_destructor_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4481 of file c-common.c.
References decl_function_context(), DECL_STATIC_DESTRUCTOR, NULL_TREE, TREE_CODE, TREE_TYPE, TREE_USED, and warning.
| static tree handle_externally_visible_attribute | ( | tree * | pnode, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4348 of file c-common.c.
References DECL_EXTERNAL, NULL_TREE, TREE_CODE, TREE_PUBLIC, TREE_STATIC, and warning.
| static tree handle_gnu_inline_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4246 of file c-common.c.
References DECL_DECLARED_INLINE_P, NULL_TREE, TREE_CODE, and warning.
| static tree handle_malloc_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5116 of file c-common.c.
References DECL_IS_MALLOC, NULL_TREE, POINTER_TYPE_P, TREE_CODE, TREE_TYPE, and warning.
| static tree handle_mode_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4509 of file c-common.c.
References alloca, ATTR_FLAG_TYPE_IN_PLACE, bool, build_pointer_type_for_mode(), build_reference_type_for_mode(), byte_mode, error(), flags, GET_MODE_CLASS, GET_MODE_INNER, GET_MODE_NAME, IDENTIFIER_POINTER, len, make_signed_type(), make_unsigned_type(), mode, MODE_COMPLEX_FLOAT, MODE_COMPLEX_INT, MODE_FLOAT, MODE_INT, MODE_PARTIAL_INT, MODE_VECTOR_FLOAT, MODE_VECTOR_INT, NULL_TREE, NUM_MACHINE_MODES, p, POINTER_TYPE_P, ptr_mode, gcc_target::scalar_mode_supported_p, strcmp(), strcpy, strlen(), targetm, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_PRECISION, TYPE_UNSIGNED, gcc_target::valid_pointer_mode, VECTOR_MODE_P, vector_mode_valid_p(), warning, and word_mode.
| static tree handle_no_instrument_function_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5089 of file c-common.c.
References DECL_INITIAL, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, error(), NULL_TREE, and TREE_CODE.
| static tree handle_no_instrument_function_attribute | ( | tree * | , | |
| tree | , | |||
| tree | , | |||
| int | , | |||
| bool * | ||||
| ) | [static] |
| static tree handle_no_limit_stack_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5153 of file c-common.c.
References DECL_INITIAL, DECL_NO_LIMIT_STACK, error(), NULL_TREE, and TREE_CODE.
| static tree handle_nocommon_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4140 of file c-common.c.
References DECL_COMMON, NULL_TREE, TREE_CODE, and warning.
| static tree handle_noinline_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4204 of file c-common.c.
References DECL_UNINLINABLE, NULL_TREE, TREE_CODE, and warning.
| static tree handle_nonnull_attribute | ( | tree * | node, | |
| tree | ARG_UNUSEDname, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5347 of file c-common.c.
References error(), get_nonnull_operand(), HOST_WIDE_INT, NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_VALUE, and TYPE_ARG_TYPES.
| static tree handle_noreturn_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4177 of file c-common.c.
References build_pointer_type(), build_type_variant, NULL_TREE, TREE_CODE, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_READONLY, and warning.
| static tree handle_nothrow_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5575 of file c-common.c.
References NULL_TREE, TREE_CODE, TREE_NOTHROW, and warning.
| static tree handle_novops_attribute | ( | tree * | node, | |
| tree | ARG_UNUSEDname, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | ARG_UNUSEDno_add_attrs | |||
| ) | [static] |
Definition at line 5199 of file c-common.c.
References DECL_IS_NOVOPS, gcc_assert, NULL_TREE, and TREE_CODE.
| static tree handle_packed_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4105 of file c-common.c.
References ATTR_FLAG_TYPE_IN_PLACE, BITS_PER_UNIT, build_variant_type_copy(), DECL_PACKED, NULL_TREE, TREE_CODE, TREE_TYPE, TYPE_ALIGN, TYPE_P, TYPE_PACKED, and warning.
| static tree handle_pure_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5180 of file c-common.c.
References DECL_IS_PURE, NULL_TREE, TREE_CODE, and warning.
| static tree handle_returns_twice_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5135 of file c-common.c.
References DECL_IS_RETURNS_TWICE, NULL_TREE, TREE_CODE, and warning.
| static tree handle_section_attribute | ( | tree * | node, | |
| tree | ARG_UNUSEDname, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4664 of file c-common.c.
References current_function_decl, DECL_SECTION_NAME, error(), gcc_target::have_named_sections, NULL_TREE, strcmp(), targetm, TREE_CODE, TREE_STATIC, TREE_STRING_POINTER, TREE_VALUE, and user_defined_section_attribute.
| static tree handle_sentinel_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5655 of file c-common.c.
References integer_zero_node, NULL_TREE, TREE_CHAIN, TREE_CODE, tree_int_cst_lt(), TREE_VALUE, TYPE_ARG_TYPES, VOID_TYPE_P, and warning.
| static tree handle_tls_model_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5047 of file c-common.c.
References DECL_THREAD_LOCAL_P, DECL_TLS_MODEL, error(), NULL_TREE, optimize, strcmp(), TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_LOCAL_EXEC, TREE_CODE, TREE_STRING_POINTER, TREE_VALUE, and warning.
| static tree handle_transparent_union_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4405 of file c-common.c.
References ATTR_FLAG_TYPE_IN_PLACE, build_duplicate_type(), DECL_MODE, DECL_P, NULL, NULL_TREE, TREE_CODE, TREE_TYPE, TYPE_FIELDS, TYPE_MODE, TYPE_P, TYPE_TRANSPARENT_UNION, and warning.
| static tree handle_unused_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4315 of file c-common.c.
References ATTR_FLAG_TYPE_IN_PLACE, build_variant_type_copy(), DECL_P, NULL_TREE, TREE_CODE, TREE_USED, and warning.
| static tree handle_used_attribute | ( | tree * | pnode, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4291 of file c-common.c.
References DECL_PRESERVE_P, NULL_TREE, TREE_CODE, TREE_STATIC, TREE_USED, and warning.
| static tree handle_vector_size_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5268 of file c-common.c.
References build_vector_type(), error(), GET_MODE_CLASS, host_integerp(), HOST_WIDE_INT, MODE_INT, NULL, NULL_TREE, POINTER_TYPE_P, reconstruct_complex_type(), SCALAR_FLOAT_MODE_P, size, TREE_CODE, tree_low_cst(), TREE_TYPE, TREE_VALUE, TYPE_MODE, TYPE_SIZE_UNIT, and warning.
| static tree handle_visibility_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | args, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | ARG_UNUSEDno_add_attrs | |||
| ) | [static] |
Definition at line 4918 of file c-common.c.
References DECL_ATTRIBUTES, decl_function_context(), DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, error(), lookup_attribute(), NULL_TREE, strcmp(), TREE_CODE, TREE_PUBLIC, TREE_STRING_POINTER, TREE_VALUE, TYPE_ATTRIBUTES, TYPE_FIELDS, TYPE_NAME, TYPE_P, VISIBILITY_DEFAULT, VISIBILITY_HIDDEN, VISIBILITY_INTERNAL, VISIBILITY_PROTECTED, and warning.
| static tree handle_warn_unused_result_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 5638 of file c-common.c.
References NULL_TREE, TREE_TYPE, VOID_TYPE_P, and warning.
| static tree handle_weak_attribute | ( | tree * | node, | |
| tree | name, | |||
| tree | ARG_UNUSEDargs, | |||
| int | ARG_UNUSEDflags, | |||
| bool * | ARG_UNUSEDno_add_attrs | |||
| ) | [static] |
Definition at line 4791 of file c-common.c.
References declare_weak(), NULL_TREE, TREE_CODE, and warning.
| static tree handle_weakref_attribute | ( | tree * | node, | |
| tree | ARG_UNUSEDname, | |||
| tree | args, | |||
| int | flags, | |||
| bool * | no_add_attrs | |||
| ) | [static] |
Definition at line 4871 of file c-common.c.
References current_function_decl, DECL_ATTRIBUTES, decl_attributes(), decl_function_context(), DECL_WEAK, error(), get_identifier(), lookup_attribute(), NULL_TREE, tree_cons, and warning.
| void lvalue_error | ( | enum lvalue_use | use | ) |
Definition at line 6130 of file c-common.c.
References error(), gcc_unreachable, lv_addressof, lv_asm, lv_assign, lv_decrement, and lv_increment.
Referenced by lvalue_or_else().
| static int match_case_to_enum | ( | splay_tree_node | node, | |
| void * | data | |||
| ) | [static] |
Definition at line 3831 of file c-common.c.
References CASE_HIGH, CASE_HIGH_SEEN, CASE_LOW, CASE_LOW_SEEN, match_case_to_enum_1(), and splay_tree_node_s::value.
Definition at line 3801 of file c-common.c.
References buf, CASE_LABEL, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT_PRINT_DOUBLE_HEX, HOST_WIDE_INT_PRINT_UNSIGNED, snprintf(), TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TYPE_NAME, TYPE_UNSIGNED, and warning.
Definition at line 1188 of file c-common.c.
References add, end, tlist::expr, new_tlist(), tlist::next, next, NULL, tmp2, and tlist::writer.
| unsigned int min_precision | ( | tree | value, | |
| int | unsignedp | |||
| ) |
Definition at line 1929 of file c-common.c.
References build1, fold(), fold_build1, integer_zerop(), log(), tree_floor_log2(), tree_int_cst_sgn(), and TREE_TYPE.
Definition at line 1154 of file c-common.c.
References tlist::expr, tlist::next, tlist_obstack, tlist::writer, and XOBNEW.
Definition at line 5520 of file c-common.c.
References gcc_assert, get_nonnull_operand(), HOST_WIDE_INT, TREE_CHAIN, and TREE_VALUE.
Definition at line 927 of file c-common.c.
References skip_evaluation, TREE_CODE, TREE_OVERFLOW, TREE_REALPART, and warning.
Definition at line 2362 of file c-common.c.
References build(), build_binary_op(), c_common_type_for_size(), convert(), fold(), fold_build2, fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), integer_one_node, pedantic, pedwarn(), result, ret, size_in_bytes(), sizetype, TREE_CODE, TREE_CONSTANT, TREE_OPERAND, TREE_TYPE, TREE_UNSIGNED, TYPE_PRECISION, TYPE_UNSIGNED, and warn_pointer_arith.
Definition at line 6371 of file c-common.c.
References build_function_call(), built_in_decls, BUILT_IN_MD, BUILT_IN_NORMAL, DECL_BUILT_IN_CLASS, DECL_FUNCTION_CODE, error_mark_node, exact_log2, n, NULL_TREE, gcc_target::resolve_overloaded_builtin, result, sync_resolve_params(), sync_resolve_return(), sync_resolve_size(), and targetm.
Referenced by build_function_call(), and finish_call_expr().
Definition at line 5830 of file c-common.c.
References d1, d2, DECL_NAME, NULL_TREE, resort_data, TREE_CODE, x, and is::y.
| void resort_sorted_fields | ( | void * | obj, | |
| void * | ARG_UNUSEDorig_obj, | |||
| gt_pointer_operator | new_value, | |||
| void * | cookie | |||
| ) |
Definition at line 5856 of file c-common.c.
References qsort(), resort_data, and resort_field_decl_cmp().
| int self_promoting_args_p | ( | tree | parms | ) |
Definition at line 3573 of file c-common.c.
References c_promoting_integer_type_p(), error_mark_node, float_type_node, TREE_CHAIN, TREE_VALUE, TYPE_MAIN_VARIANT, and void_type_node.
Definition at line 3419 of file c-common.c.
References built_in_decls, BUILT_IN_NORMAL, DECL_BUILT_IN_CLASS, DECL_FUNCTION_CODE, gcc_assert, init_block_clear_fn(), init_block_move_fn(), set_user_assembler_name(), and TREE_CODE.
| tree shorten_compare | ( | tree * | op0_ptr, | |
| tree * | op1_ptr, | |||
| tree * | restype_ptr, | |||
| enum tree_code * | rescode_ptr | |||
| ) |
Definition at line 2025 of file c-common.c.
References boolean_false_node, boolean_true_node, boolean_type_node, build(), build2, build_int_cst_wide(), c_common_signed_or_unsigned_type(), c_common_signed_type(), c_common_type_for_size(), c_common_unsigned_type(), common_type(), convert(), DECIMAL_FLOAT_MODE_P, extra_warnings, force_fit_type(), get_narrower(), in_system_header, INT_CST_LT, INT_CST_LT_UNSIGNED, integer_zerop(), real_zerop(), tmp, TREE_CODE, TREE_CONSTANT, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_OVERFLOW, TREE_SIDE_EFFECTS, TREE_TYPE, TREE_UNSIGNED, truthvalue_false_node, truthvalue_true_node, truthvalue_type_node, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_PRECISION, TYPE_UNSIGNED, val, and warning.
Definition at line 661 of file c-common.c.
References build_int_2, build_int_cst(), fname_var_t::decl, NULL_TREE, saved_function_name_decls, and tree_cons.
Definition at line 987 of file c-common.c.
References alias_sets_conflict_p(), alias_sets_might_conflict_p(), COMPLETE_TYPE_P, DECL_P, flag_strict_aliasing, get_alias_set(), handled_component_p(), HOST_WIDE_INT, POINTER_TYPE_P, TREE_CODE, TREE_OPERAND, TREE_TYPE, VOID_TYPE_P, warn_strict_aliasing, and warning.
Referenced by build_c_cast(), and build_reinterpret_cast_1().
Definition at line 6302 of file c-common.c.
References arg_types, convert(), error(), NULL, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, val, and void_list_node.
Referenced by resolve_overloaded_builtin().
Definition at line 6354 of file c-common.c.
References convert(), TREE_TYPE, TREE_VALUE, and TYPE_MAIN_VARIANT.
Referenced by resolve_overloaded_builtin().
Definition at line 6268 of file c-common.c.
References error(), INTEGRAL_TYPE_P, NULL, POINTER_TYPE_P, size, TREE_CODE, tree_low_cst(), TREE_TYPE, TREE_VALUE, and TYPE_SIZE_UNIT.
Referenced by resolve_overloaded_builtin().
Definition at line 961 of file c-common.c.
References c_common_signed_type(), int_fits_type_p(), skip_evaluation, TREE_CODE, TREE_TYPE, TYPE_UNSIGNED, and warning.
Definition at line 1063 of file c-common.c.
References INTEGRAL_TYPE_P, targetm, TREE_CODE, tree_int_cst_equal(), TREE_TYPE, TYPE_PRECISION, TYPE_SIZE, and gcc_target::vector_opaque_p.
Definition at line 1481 of file c-common.c.
References gcc_obstack_init, obstack_alloc, obstack_free, tlist_firstobj, tlist_obstack, verify_tree(), and warn_for_collisions().
| static void verify_tree | ( | tree | x, | |
| struct tlist ** | pbefore_sp, | |||
| struct tlist ** | pno_sp, | |||
| tree | writer | |||
| ) | [static] |
Definition at line 1296 of file c-common.c.
References add_tlist(), tlist_cache::cache_after_sp, tlist_cache::cache_before_sp, cl(), tlist_cache::expr, IS_EXPR_CODE_CLASS, max, merge_tlist(), new_tlist(), tlist::next, tlist_cache::next, NULL, NULL_TREE, tcc_unary, tlist_obstack, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, TREE_OPERAND, TREE_VALUE, verify_tree(), warn_for_collisions(), warn_for_collisions_1(), warning_candidate_p(), and XOBNEW.
Definition at line 6479 of file c-common.c.
References char_type_node, TREE_CODE, TREE_TYPE, TYPE_MAIN_VARIANT, and warning.
Referenced by build_array_ref().
Definition at line 1251 of file c-common.c.
References tlist::expr, tlist::next, tmp, warn_for_collisions_1(), and tlist::writer.
| static void warn_for_collisions_1 | ( | tree | written, | |
| tree | writer, | |||
| struct tlist * | list, | |||
| int | only_writes | |||
| ) | [static] |
Definition at line 1223 of file c-common.c.
References DECL_NAME, tlist::expr, new_tlist(), tlist::next, NULL_TREE, tmp, warning, and tlist::writer.
| static int warning_candidate_p | ( | tree | x | ) | [static] |
tree builtin_types[(int) BT_LAST+1] [static] |
Definition at line 3069 of file c-common.c.
Definition at line 556 of file c-common.c.
Initial value:
{
{ "format", 3, 3, false, true, true,
handle_format_attribute },
{ "format_arg", 1, 1, false, true, true,
handle_format_arg_attribute },
{ NULL, 0, 0, false, false, false, NULL }
}
Definition at line 648 of file c-common.c.
| tree c_global_trees[CTI_MAX] |
Definition at line 198 of file c-common.c.
| const char* constant_string_class_name |
Definition at line 339 of file c-common.c.
Definition at line 5823 of file c-common.c.
disabled_builtin* disabled_builtins = NULL [static] |
Definition at line 3463 of file c-common.c.
| int flag_access_control = 1 |
Definition at line 397 of file c-common.c.
| int flag_check_new |
Definition at line 402 of file c-common.c.
Definition at line 304 of file c-common.c.
Definition at line 393 of file c-common.c.
| int flag_default_inline = 1 |
Definition at line 381 of file c-common.c.
| char flag_dump_includes |
Definition at line 221 of file c-common.c.
| char flag_dump_macros |
Definition at line 217 of file c-common.c.
| int flag_elide_constructors = 1 |
Definition at line 376 of file c-common.c.
| int flag_enforce_eh_specs = 1 |
Definition at line 447 of file c-common.c.
Definition at line 329 of file c-common.c.
| int flag_hosted = 1 |
Definition at line 316 of file c-common.c.
| int flag_implement_inlines = 1 |
Definition at line 352 of file c-common.c.
| int flag_implicit_inline_templates = 1 |
Definition at line 362 of file c-common.c.
| int flag_implicit_templates = 1 |
Definition at line 356 of file c-common.c.
| int flag_iso |
Definition at line 234 of file c-common.c.
| int flag_isoc94 |
Definition at line 308 of file c-common.c.
| int flag_isoc99 |
Definition at line 312 of file c-common.c.
Definition at line 258 of file c-common.c.
| int flag_new_for_scope = 1 |
Definition at line 411 of file c-common.c.
| int flag_nil_receivers = 1 |
Definition at line 286 of file c-common.c.
| int flag_no_asm |
Definition at line 262 of file c-common.c.
| int flag_no_builtin |
Definition at line 242 of file c-common.c.
Definition at line 347 of file c-common.c.
Definition at line 208 of file c-common.c.
Definition at line 247 of file c-common.c.
| char flag_no_output |
Definition at line 213 of file c-common.c.
| int flag_optional_diags = 1 |
Definition at line 372 of file c-common.c.
Definition at line 225 of file c-common.c.
| int flag_permissive |
Definition at line 440 of file c-common.c.
Definition at line 204 of file c-common.c.
| int flag_replace_objc_classes = 0 |
Definition at line 296 of file c-common.c.
| int flag_rtti = 1 |
Definition at line 386 of file c-common.c.
Definition at line 251 of file c-common.c.
| int flag_short_wchar |
Definition at line 255 of file c-common.c.
| int flag_signed_bitfields = 1 |
Definition at line 266 of file c-common.c.
| int flag_threadsafe_statics = 1 |
Definition at line 452 of file c-common.c.
| int flag_undef |
Definition at line 238 of file c-common.c.
| int flag_use_cxa_atexit = DEFAULT_USE_CXA_ATEXIT |
Definition at line 430 of file c-common.c.
| int flag_use_cxa_get_exception_ptr = 2 |
Definition at line 435 of file c-common.c.
Referenced by c_common_handle_option(), and expand_start_catch_block().
Definition at line 367 of file c-common.c.
| int flag_weak = 1 |
Definition at line 417 of file c-common.c.
| int flag_working_directory = -1 |
Definition at line 424 of file c-common.c.
| int flag_zero_link = 0 |
Definition at line 291 of file c-common.c.
Initial value:
{
{&c99_function_name_decl_node, RID_C99_FUNCTION_NAME, 0},
{&function_name_decl_node, RID_FUNCTION_NAME, 0},
{&pretty_function_name_decl_node, RID_PRETTY_FUNCTION_NAME, 1},
{NULL, 0, 0},
}
Definition at line 486 of file c-common.c.
| tree(* make_fname_decl)(tree, int) |
| int max_tinst_depth = 500 |
Definition at line 462 of file c-common.c.
Definition at line 5822 of file c-common.c.
Definition at line 52 of file c-common.c.
| const char* pch_file |
Definition at line 230 of file c-common.c.
Definition at line 335 of file c-common.c.
struct { ... } resort_data [static] |
Definition at line 468 of file c-common.c.
struct tlist_cache* save_expr_cache [static] |
Definition at line 1142 of file c-common.c.
| int skip_evaluation |
Definition at line 474 of file c-common.c.
char* tlist_firstobj = 0 [static] |
Definition at line 1135 of file c-common.c.
struct obstack tlist_obstack [static] |
Definition at line 1134 of file c-common.c.
| int warn_format |
Definition at line 275 of file c-common.c.
| int warn_implicit = 1 |
Definition at line 456 of file c-common.c.
| int warn_main |
Definition at line 320 of file c-common.c.
Definition at line 281 of file c-common.c.
Definition at line 270 of file c-common.c.
struct tlist* warned_ids [static] |
Definition at line 1139 of file c-common.c.
1.5.6