osprey-gcc-4.2.0/gcc/c-common.c File Reference

#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"

Include dependency graph for c-common.c:

Go to the source code of this file.

Data Types

type  fname_var_t
type  tlist
type  tlist_cache
type  disabled_builtin

Defines

#define SIZE_TYPE   "long unsigned int"
#define PID_TYPE   "int"
#define WCHAR_TYPE   "int"
#define MODIFIED_WCHAR_TYPE   (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE)
#define PTRDIFF_TYPE   "long int"
#define WINT_TYPE   "unsigned int"
#define INTMAX_TYPE
#define UINTMAX_TYPE
#define TYPE_OK(node)
#define DEF_ATTR_NULL_TREE(ENUM)   ENUM,
#define DEF_ATTR_INT(ENUM, VALUE)   ENUM,
#define DEF_ATTR_IDENT(ENUM, STRING)   ENUM,
#define DEF_ATTR_TREE_LIST(ENUM, PURPOSE, VALUE, CHAIN)   ENUM,
#define DEF_PRIMITIVE_TYPE(NAME, VALUE)   NAME,
#define DEF_FUNCTION_TYPE_0(NAME, RETURN)   NAME,
#define DEF_FUNCTION_TYPE_1(NAME, RETURN, ARG1)   NAME,
#define DEF_FUNCTION_TYPE_2(NAME, RETURN, ARG1, ARG2)   NAME,
#define DEF_FUNCTION_TYPE_3(NAME, RETURN, ARG1, ARG2, ARG3)   NAME,
#define DEF_FUNCTION_TYPE_4(NAME, RETURN, ARG1, ARG2, ARG3, ARG4)   NAME,
#define DEF_FUNCTION_TYPE_5(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)   NAME,
#define DEF_FUNCTION_TYPE_6(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)   NAME,
#define DEF_FUNCTION_TYPE_7(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)   NAME,
#define DEF_FUNCTION_TYPE_8(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8)   NAME,
#define DEF_FUNCTION_TYPE_9(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9)   NAME,
#define DEF_FUNCTION_TYPE_VAR_0(NAME, RETURN)   NAME,
#define DEF_FUNCTION_TYPE_VAR_1(NAME, RETURN, ARG1)   NAME,
#define DEF_FUNCTION_TYPE_VAR_2(NAME, RETURN, ARG1, ARG2)   NAME,
#define DEF_FUNCTION_TYPE_VAR_3(NAME, RETURN, ARG1, ARG2, ARG3)   NAME,
#define DEF_FUNCTION_TYPE_VAR_4(NAME, RETURN, ARG1, ARG2, ARG3, ARG4)   NAME,
#define DEF_FUNCTION_TYPE_VAR_5(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG6)   NAME,
#define DEF_POINTER_TYPE(NAME, TYPE)   NAME,
#define DEF_PRIMITIVE_TYPE(ENUM, VALUE)   builtin_types[ENUM] = VALUE;
#define DEF_FUNCTION_TYPE_0(ENUM, RETURN)   def_fn_type (ENUM, RETURN, 0, 0);
#define DEF_FUNCTION_TYPE_1(ENUM, RETURN, ARG1)   def_fn_type (ENUM, RETURN, 0, 1, ARG1);
#define DEF_FUNCTION_TYPE_2(ENUM, RETURN, ARG1, ARG2)   def_fn_type (ENUM, RETURN, 0, 2, ARG1, ARG2);
#define DEF_FUNCTION_TYPE_3(ENUM, RETURN, ARG1, ARG2, ARG3)   def_fn_type (ENUM, RETURN, 0, 3, ARG1, ARG2, ARG3);
#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_5(ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)   def_fn_type (ENUM, RETURN, 0, 5, ARG1, ARG2, ARG3, ARG4, ARG5);
#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_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_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_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_VAR_0(ENUM, RETURN)   def_fn_type (ENUM, RETURN, 1, 0);
#define DEF_FUNCTION_TYPE_VAR_1(ENUM, RETURN, ARG1)   def_fn_type (ENUM, RETURN, 1, 1, ARG1);
#define DEF_FUNCTION_TYPE_VAR_2(ENUM, RETURN, ARG1, ARG2)   def_fn_type (ENUM, RETURN, 1, 2, ARG1, ARG2);
#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_4(ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)   def_fn_type (ENUM, RETURN, 1, 4, ARG1, ARG2, ARG3, ARG4);
#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_POINTER_TYPE(ENUM, TYPE)   builtin_types[(int) ENUM] = build_pointer_type (builtin_types[(int) TYPE]);
#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND)
#define DEF_ATTR_NULL_TREE(ENUM)   built_in_attributes[(int) ENUM] = NULL_TREE;
#define DEF_ATTR_INT(ENUM, VALUE)   built_in_attributes[(int) ENUM] = build_int_cst (NULL_TREE, VALUE);
#define DEF_ATTR_IDENT(ENUM, STRING)   built_in_attributes[(int) ENUM] = get_identifier (STRING);
#define DEF_ATTR_TREE_LIST(ENUM, PURPOSE, VALUE, CHAIN)
#define catenate_messages(M1, M2)   catenate_strings ((M1), (M2), sizeof (M2))

Typedefs

typedef enum c_builtin_type builtin_type

Enumerations

enum  built_in_attribute { DEF_ATTR_NULL_TREE, DEF_ATTR_NULL_TREE, DEF_ATTR_NULL_TREE, DEF_ATTR_NULL_TREE }

Functions/Subroutines

static int constant_fits_type_p (tree, tree)
static tree check_case_value (tree)
static bool check_case_bounds (tree, tree, tree *, tree *)
static tree handle_packed_attribute (tree *, tree, tree, int, bool *)
static tree handle_nocommon_attribute (tree *, tree, tree, int, bool *)
static tree handle_common_attribute (tree *, tree, tree, int, bool *)
static tree handle_noreturn_attribute (tree *, tree, tree, int, bool *)
static tree handle_noinline_attribute (tree *, tree, tree, int, bool *)
static tree handle_always_inline_attribute (tree *, tree, tree, int, bool *)
static tree handle_gnu_inline_attribute (tree *, tree, tree, int, bool *)
static tree handle_flatten_attribute (tree *, tree, tree, int, bool *)
static tree handle_used_attribute (tree *, tree, tree, int, bool *)
static tree handle_unused_attribute (tree *, tree, tree, int, bool *)
static tree handle_externally_visible_attribute (tree *, tree, tree, int, bool *)
static tree handle_const_attribute (tree *, tree, tree, int, bool *)
static tree handle_transparent_union_attribute (tree *, tree, tree, int, bool *)
static tree handle_constructor_attribute (tree *, tree, tree, int, bool *)
static tree handle_destructor_attribute (tree *, tree, tree, int, bool *)
static tree handle_mode_attribute (tree *, tree, tree, int, bool *)
static tree handle_section_attribute (tree *, tree, tree, int, bool *)
static tree handle_aligned_attribute (tree *, tree, tree, int, bool *)
static tree handle_weak_attribute (tree *, tree, tree, int, bool *)
static tree handle_alias_attribute (tree *, tree, tree, int, bool *)
static tree handle_weakref_attribute (tree *, tree, tree, int, bool *)
static tree handle_visibility_attribute (tree *, tree, tree, int, bool *)
static tree handle_tls_model_attribute (tree *, tree, tree, int, bool *)
static tree handle_no_instrument_function_attribute (tree *, tree, tree, int, bool *)
static tree handle_malloc_attribute (tree *, tree, tree, int, bool *)
static tree handle_returns_twice_attribute (tree *, tree, tree, int, bool *)
static tree handle_no_limit_stack_attribute (tree *, tree, tree, int, bool *)
static tree handle_pure_attribute (tree *, tree, tree, int, bool *)
static tree handle_novops_attribute (tree *, tree, tree, int, bool *)
static tree handle_deprecated_attribute (tree *, tree, tree, int, bool *)
static tree handle_vector_size_attribute (tree *, tree, tree, int, bool *)
static tree handle_nonnull_attribute (tree *, tree, tree, int, bool *)
static tree handle_nothrow_attribute (tree *, tree, tree, int, bool *)
static tree handle_cleanup_attribute (tree *, tree, tree, int, bool *)
static tree handle_warn_unused_result_attribute (tree *, tree, tree, int, bool *)
static tree handle_sentinel_attribute (tree *, tree, tree, int, bool *)
static void check_function_nonnull (tree, tree)
static void check_nonnull_arg (void *, tree, unsigned HOST_WIDE_INT)
static bool nonnull_check_p (tree, unsigned HOST_WIDE_INT)
static bool get_nonnull_operand (tree, unsigned HOST_WIDE_INT *)
static int resort_field_decl_cmp (const void *, const void *)
void start_fname_decls (void)
void finish_fname_decls (void)
const char * fname_as_string (int pretty_p)
int c_expand_decl (tree decl)
tree fname_decl (unsigned int rid, tree id)
tree fix_string_type (tree value)
void constant_expression_warning (tree value)
void overflow_warning (tree value)
static void unsigned_conversion_warning (tree result, tree operand)
void strict_aliasing_warning (tree otype, tree type, tree expr)
void empty_body_warning (tree inner_then, tree inner_else)
int vector_types_convertible_p (tree t1, tree t2)
tree convert_and_check (tree type, tree expr)
static void add_tlist (struct tlist **, struct tlist *, tree, int)
static void merge_tlist (struct tlist **, struct tlist *, int)
static void verify_tree (tree, struct tlist **, struct tlist **, tree)
static int warning_candidate_p (tree)
static void warn_for_collisions (struct tlist *)
static void warn_for_collisions_1 (tree, tree, struct tlist *, int)
static struct tlistnew_tlist (struct tlist *, tree, tree)
void verify_sequence_points (tree expr)
tree c_common_type_for_size (unsigned int bits, int unsignedp)
static GTY (())
tree c_common_unsigned_type (tree type)
tree c_common_signed_type (tree type)
tree c_common_signed_or_unsigned_type (int unsignedp, tree type)
tree c_build_bitfield_integer_type (unsigned HOST_WIDE_INT width, int unsignedp)
void c_register_builtin_type (tree type, const char *name)
unsigned int min_precision (tree value, int unsignedp)
void binary_op_error (enum tree_code code)
tree shorten_compare (tree *op0_ptr, tree *op1_ptr, tree *restype_ptr, enum tree_code *rescode_ptr)
tree pointer_int_sum (enum tree_code resultcode, tree ptrop, tree intop)
tree c_common_truthvalue_conversion (tree expr)
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)
tree c_build_qualified_type (tree type, int type_quals)
void c_apply_type_quals_to_decl (int type_quals, tree decl)
static hashval_t c_type_hash (const void *p)
static GTY ((param_is(union tree_node)))
tree c_sizeof_or_alignof_type (tree type, bool is_sizeof, int complain)
tree c_alignof_expr (tree expr)
static void def_fn_type (builtin_type def, builtin_type ret, bool var, int n,...)
void c_common_nodes_and_builtins (void)
void set_builtin_user_assembler_name (tree decl, const char *asmspec)
tree build_va_arg (tree expr, tree type)
static bool builtin_function_disabled_p (const char *)
void disable_builtin_function (const char *name)
bool c_promoting_integer_type_p (tree t)
int self_promoting_args_p (tree parms)
tree strip_array_types (tree type)
tree strip_pointer_operator (tree t)
int case_compare (splay_tree_key k1, splay_tree_key k2)
tree c_add_case_label (splay_tree cases, tree cond, tree orig_type, tree low_value, tree high_value)
static void match_case_to_enum_1 (tree key, tree type, tree label)
static int match_case_to_enum (splay_tree_node node, void *data)
void c_do_switch_warnings (splay_tree cases, location_t switch_location, tree type, tree cond)
tree finish_label_address_expr (tree label)
rtx c_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier, rtx *alt_rtl)
tree c_staticp (tree exp)
tree boolean_increment (enum tree_code code, tree arg)
void c_stddef_cpp_builtins (void)
static void c_init_attributes (void)
static tree handle_packed_attribute (tree *node, tree name, tree ARG_UNUSED(args), int flags, bool *no_add_attrs)
static tree handle_nocommon_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_common_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_noreturn_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_noinline_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_always_inline_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_gnu_inline_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_flatten_attribute (tree *node, tree name, tree args ATTRIBUTE_UNUSED, int flags ATTRIBUTE_UNUSED, bool *no_add_attrs)
static tree handle_used_attribute (tree *pnode, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_unused_attribute (tree *node, tree name, tree ARG_UNUSED(args), int flags, bool *no_add_attrs)
static tree handle_externally_visible_attribute (tree *pnode, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_const_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_transparent_union_attribute (tree *node, tree name, tree ARG_UNUSED(args), int flags, bool *no_add_attrs)
static tree handle_constructor_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_destructor_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_mode_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_section_attribute (tree *node, tree ARG_UNUSED(name), tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_aligned_attribute (tree *node, tree ARG_UNUSED(name), tree args, int flags, bool *no_add_attrs)
static tree handle_weak_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *ARG_UNUSED(no_add_attrs))
static tree handle_alias_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_weakref_attribute (tree *node, tree ARG_UNUSED(name), tree args, int flags, bool *no_add_attrs)
static tree handle_visibility_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *ARG_UNUSED(no_add_attrs))
bool c_determine_visibility (tree decl)
static tree handle_tls_model_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_no_instrument_function_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_malloc_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_returns_twice_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_no_limit_stack_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_pure_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_novops_attribute (tree *node, tree ARG_UNUSED(name), tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *ARG_UNUSED(no_add_attrs))
static tree handle_deprecated_attribute (tree *node, tree name, tree ARG_UNUSED(args), int flags, bool *no_add_attrs)
static tree handle_vector_size_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_nonnull_attribute (tree *node, tree ARG_UNUSED(name), tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static void check_function_sentinel (tree attrs, tree params, tree typelist)
static void check_nonnull_arg (void *ARG_UNUSED(ctx), tree param, unsigned HOST_WIDE_INT param_num)
static tree handle_nothrow_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_cleanup_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_warn_unused_result_attribute (tree *node, tree name, tree ARG_UNUSED(args), int ARG_UNUSED(flags), bool *no_add_attrs)
static tree handle_sentinel_attribute (tree *node, tree name, tree args, int ARG_UNUSED(flags), bool *no_add_attrs)
void check_function_arguments (tree attrs, tree params, tree typelist)
void check_function_arguments_recurse (void(*callback)(void *, tree, unsigned HOST_WIDE_INT), void *ctx, tree param, unsigned HOST_WIDE_INT param_num)
int field_decl_cmp (const void *x_p, const void *y_p)
void resort_sorted_fields (void *obj, void *ARG_UNUSED(orig_obj), gt_pointer_operator new_value, void *cookie)
static char * catenate_strings (const char *lhs, const char *rhs_start, int rhs_size)
void c_parse_error (const char *gmsgid, enum cpp_ttype token, tree value)
void c_warn_unused_result (tree *top_p)
HOST_WIDE_INT c_common_to_target_charset (HOST_WIDE_INT c)
static tree fold_offsetof_1 (tree expr, tree stop_ref)
tree fold_offsetof (tree expr, tree stop_ref)
void lvalue_error (enum lvalue_use use)
int complete_array_type (tree *ptype, tree initial_value, bool do_default)
tree builtin_type_for_size (int size, bool unsignedp)
static int sync_resolve_size (tree function, tree params)
static bool sync_resolve_params (tree orig_function, tree function, tree params)
static tree sync_resolve_return (tree params, tree result)
tree resolve_overloaded_builtin (tree function, tree params)
bool same_scalar_type_ignoring_signedness (tree t1, tree t2)
bool check_missing_format_attribute (tree ltype, tree rtype)
void warn_array_subscript_with_type_char (tree index)

Variables

cpp_readerparse_in
tree c_global_trees [CTI_MAX]
int flag_preprocess_only
char flag_no_line_commands
char flag_no_output
char flag_dump_macros
char flag_dump_includes
bool flag_pch_preprocess
const char * pch_file
int flag_iso
int flag_undef
int flag_no_builtin
int flag_no_nonansi_builtin
int flag_short_double
int flag_short_wchar
int flag_ms_extensions
int flag_no_asm
int flag_signed_bitfields = 1
int warn_unknown_pragmas
int warn_format
int warn_strict_null_sentinel
int flag_nil_receivers = 1
int flag_zero_link = 0
int flag_replace_objc_classes = 0
int flag_cond_mismatch
int flag_isoc94
int flag_isoc99
int flag_hosted = 1
int warn_main
int flag_gen_declaration
int print_struct_values
const char * constant_string_class_name
int flag_no_gnu_keywords
int flag_implement_inlines = 1
int flag_implicit_templates = 1
int flag_implicit_inline_templates = 1
int flag_use_repository
int flag_optional_diags = 1
int flag_elide_constructors = 1
int flag_default_inline = 1
int flag_rtti = 1
int flag_conserve_space
int flag_access_control = 1
int flag_check_new
int flag_new_for_scope = 1
int flag_weak = 1
int flag_working_directory = -1
int flag_use_cxa_atexit = DEFAULT_USE_CXA_ATEXIT
int flag_use_cxa_get_exception_ptr = 2
int flag_permissive
int flag_enforce_eh_specs = 1
int flag_threadsafe_statics = 1
int warn_implicit = 1
int max_tinst_depth = 500
treeridpointers
tree(* make_fname_decl )(tree, int)
int skip_evaluation
struct fname_var_t fname_vars []
struct attribute_spec c_common_attribute_table []
struct attribute_spec c_common_format_attribute_table []
static struct obstack tlist_obstack
static char * tlist_firstobj = 0
static struct tlistwarned_ids
static struct tlist_cachesave_expr_cache
static tree builtin_types [(int) BT_LAST+1]
static disabled_builtindisabled_builtins = NULL
type {
   gt_pointer_operator   new_value
   void *   cookie
resort_data


Define Documentation

#define catenate_messages ( M1,
M2   )     catenate_strings ((M1), (M2), sizeof (M2))

#define DEF_ATTR_IDENT ( ENUM,
STRING   )     built_in_attributes[(int) ENUM] = get_identifier (STRING);

#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_ATTR_TREE_LIST ( ENUM,
PURPOSE,
VALUE,
CHAIN   ) 

Value:

built_in_attributes[(int) ENUM]     \
    = tree_cons (built_in_attributes[(int) PURPOSE],  \
     built_in_attributes[(int) VALUE],  \
     built_in_attributes[(int) CHAIN]);

#define DEF_ATTR_TREE_LIST ( ENUM,
PURPOSE,
VALUE,
CHAIN   )     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   ) 

#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 Documentation

typedef enum c_builtin_type builtin_type

Definition at line 3065 of file c-common.c.


Enumeration Type Documentation

Enumerator:
DEF_ATTR_NULL_TREE 
DEF_ATTR_NULL_TREE 
DEF_ATTR_NULL_TREE 
DEF_ATTR_NULL_TREE 

Definition at line 3004 of file c-common.c.


Function Documentation

static void add_tlist ( struct tlist **  to,
struct tlist add,
tree  exclude_writer,
int  copy 
) [static]

Definition at line 1168 of file c-common.c.

References add, new_tlist(), and next.

void binary_op_error ( enum tree_code  code  ) 

Definition at line 1956 of file c-common.c.

References error(), and gcc_unreachable.

tree boolean_increment ( enum tree_code  code,
tree  arg 
)

tree build_va_arg ( tree  expr,
tree  type 
)

Definition at line 3450 of file c-common.c.

References build1.

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 builtin_type_for_size ( int  size,
bool  unsignedp 
)

Definition at line 6256 of file c-common.c.

References error_mark_node.

tree c_add_case_label ( splay_tree  cases,
tree  cond,
tree  orig_type,
tree  low_value,
tree  high_value 
)

tree c_alignof_expr ( tree  expr  ) 

void c_apply_type_quals_to_decl ( int  type_quals,
tree  decl 
)

tree c_build_bitfield_integer_type ( unsigned HOST_WIDE_INT  width,
int  unsignedp 
)

tree c_build_qualified_type ( tree  type,
int  type_quals 
)

void c_common_nodes_and_builtins ( void   ) 

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().

tree c_common_signed_or_unsigned_type ( int  unsignedp,
tree  type 
)

tree c_common_signed_type ( tree  type  ) 

HOST_WIDE_INT c_common_to_target_charset ( HOST_WIDE_INT  c  ) 

tree c_common_truthvalue_conversion ( tree  expr  ) 

tree c_common_type_for_size ( unsigned int  bits,
int  unsignedp 
)

tree c_common_unsigned_type ( tree  type  ) 

bool c_determine_visibility ( tree  decl  ) 

void c_do_switch_warnings ( splay_tree  cases,
location_t  switch_location,
tree  type,
tree  cond 
)

int c_expand_decl ( tree  decl  ) 

rtx c_expand_expr ( tree  exp,
rtx  target,
enum machine_mode  tmode,
int  modifier,
rtx alt_rtl 
)

static void c_init_attributes ( void   )  [static]

Definition at line 4078 of file c-common.c.

void c_parse_error ( const char *  gmsgid,
enum cpp_ttype  token,
tree  value 
)

bool c_promoting_integer_type_p ( tree  t  ) 

void c_register_builtin_type ( tree  type,
const char *  name 
)

Definition at line 1911 of file c-common.c.

References build_decl, DECL_ARTIFICIAL, get_identifier(), pushdecl(), tree_cons, and TYPE_NAME.

tree c_sizeof_or_alignof_type ( tree  type,
bool  is_sizeof,
int  complain 
)

tree c_staticp ( tree  exp  ) 

Definition at line 4017 of file c-common.c.

References COMPOUND_LITERAL_EXPR_DECL, NULL, TREE_CODE, and TREE_STATIC.

void c_stddef_cpp_builtins ( void   ) 

static hashval_t c_type_hash ( const void p  )  [static]

void c_warn_unused_result ( tree top_p  ) 

int case_compare ( splay_tree_key  k1,
splay_tree_key  k2 
)

Definition at line 3625 of file c-common.c.

References tree_int_cst_compare().

static char* catenate_strings ( const char *  lhs,
const char *  rhs_start,
int  rhs_size 
) [static]

Definition at line 5876 of file c-common.c.

References lhs_size, result, strlen(), strncpy(), and XNEWVEC.

static bool check_case_bounds ( tree  type,
tree  orig_type,
tree case_low_p,
tree case_high_p 
) [static]

static tree check_case_value ( tree  value  )  [static]

void check_function_arguments ( tree  attrs,
tree  params,
tree  typelist 
)

void check_function_arguments_recurse ( void(*)(void *, tree, unsigned HOST_WIDE_INT)  callback,
void ctx,
tree  param,
unsigned HOST_WIDE_INT  param_num 
)

static void check_function_nonnull ( tree  attrs,
tree  params 
) [static]

static void check_function_sentinel ( tree  attrs,
tree  params,
tree  typelist 
) [static]

bool check_missing_format_attribute ( tree  ltype,
tree  rtype 
)

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.

static void check_nonnull_arg ( void ,
tree  ,
unsigned  HOST_WIDE_INT 
) [static]

int complete_array_type ( tree ptype,
tree  initial_value,
bool  do_default 
)

void constant_expression_warning ( tree  value  ) 

Definition at line 908 of file c-common.c.

References pedantic, pedwarn(), TREE_CODE, and TREE_CONSTANT_OVERFLOW.

static int constant_fits_type_p ( tree  c,
tree  type 
) [static]

Definition at line 1051 of file c-common.c.

References convert(), int_fits_type_p(), TREE_CODE, and TREE_OVERFLOW.

tree convert_and_check ( tree  type,
tree  expr 
)

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]

static void def_fn_type ( builtin_type  def,
builtin_type  ret,
bool  var,
int  n,
  ... 
) [static]

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.

void empty_body_warning ( tree  inner_then,
tree  inner_else 
)

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().

int field_decl_cmp ( const void x_p,
const void y_p 
)

Definition at line 5804 of file c-common.c.

References DECL_NAME, NULL_TREE, TREE_CODE, x, and is::y.

void finish_fname_decls ( void   ) 

tree finish_label_address_expr ( tree  label  ) 

tree fix_string_type ( tree  value  ) 

const char* fname_as_string ( int  pretty_p  ) 

tree fname_decl ( unsigned int  rid,
tree  id 
)

tree fold_offsetof ( tree  expr,
tree  stop_ref 
)

Definition at line 6120 of file c-common.c.

References convert(), fold_offsetof_1(), and size_type_node.

static tree fold_offsetof_1 ( tree  expr,
tree  stop_ref 
) [static]

static bool get_nonnull_operand ( tree  arg_num_expr,
unsigned HOST_WIDE_INT *  valp 
) [static]

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]

static GTY ( ()   )  [static]

static tree handle_alias_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_alias_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_aligned_attribute ( tree node,
tree   ARG_UNUSEDname,
tree  args,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_aligned_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_always_inline_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

Definition at line 4223 of file c-common.c.

References NULL_TREE, TREE_CODE, and warning.

static tree handle_always_inline_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_cleanup_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_common_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_const_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_const_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_constructor_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_constructor_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_deprecated_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_deprecated_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_destructor_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_destructor_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_externally_visible_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_flatten_attribute ( tree node,
tree  name,
tree args  ATTRIBUTE_UNUSED,
int flags  ATTRIBUTE_UNUSED,
bool no_add_attrs 
) [static]

Definition at line 4269 of file c-common.c.

References NULL_TREE, TREE_CODE, and warning.

static tree handle_flatten_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_gnu_inline_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_malloc_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_mode_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_mode_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_no_instrument_function_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

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_no_limit_stack_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_nocommon_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_noinline_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_nonnull_attribute ( tree node,
tree   ARG_UNUSEDname,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_nonnull_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_noreturn_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_noreturn_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_nothrow_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_novops_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_packed_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_packed_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_pure_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_returns_twice_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_section_attribute ( tree node,
tree   ARG_UNUSEDname,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_section_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_sentinel_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_sentinel_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_tls_model_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_tls_model_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_transparent_union_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_transparent_union_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_unused_attribute ( tree node,
tree  name,
tree   ARG_UNUSEDargs,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_unused_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_used_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_vector_size_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool no_add_attrs 
) [static]

static tree handle_vector_size_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_visibility_attribute ( tree node,
tree  name,
tree  args,
int   ARG_UNUSEDflags,
bool ARG_UNUSEDno_add_attrs 
) [static]

static tree handle_visibility_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_warn_unused_result_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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_weak_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

static tree handle_weakref_attribute ( tree node,
tree   ARG_UNUSEDname,
tree  args,
int  flags,
bool no_add_attrs 
) [static]

static tree handle_weakref_attribute ( tree ,
tree  ,
tree  ,
int  ,
bool  
) [static]

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]

static void match_case_to_enum_1 ( tree  key,
tree  type,
tree  label 
) [static]

static void merge_tlist ( struct tlist **  to,
struct tlist add,
int  copy 
) [static]

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 
)

static struct tlist * new_tlist ( struct tlist next,
tree  t,
tree  writer 
) [static, read]

Definition at line 1154 of file c-common.c.

References tlist::expr, tlist::next, tlist_obstack, tlist::writer, and XOBNEW.

static bool nonnull_check_p ( tree  args,
unsigned HOST_WIDE_INT  param_num 
) [static]

Definition at line 5520 of file c-common.c.

References gcc_assert, get_nonnull_operand(), HOST_WIDE_INT, TREE_CHAIN, and TREE_VALUE.

void overflow_warning ( tree  value  ) 

Definition at line 927 of file c-common.c.

References skip_evaluation, TREE_CODE, TREE_OVERFLOW, TREE_REALPART, and warning.

tree pointer_int_sum ( enum tree_code  resultcode,
tree  ptrop,
tree  intop 
)

tree resolve_overloaded_builtin ( tree  function,
tree  params 
)

static int resort_field_decl_cmp ( const void x_p,
const void y_p 
) [static]

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().

bool same_scalar_type_ignoring_signedness ( tree  t1,
tree  t2 
)

Definition at line 6432 of file c-common.c.

References gcc_assert, and TREE_CODE.

int self_promoting_args_p ( tree  parms  ) 

void set_builtin_user_assembler_name ( tree  decl,
const char *  asmspec 
)

tree shorten_compare ( tree op0_ptr,
tree op1_ptr,
tree restype_ptr,
enum tree_code rescode_ptr 
)

void start_fname_decls ( void   ) 

void strict_aliasing_warning ( tree  otype,
tree  type,
tree  expr 
)

tree strip_array_types ( tree  type  ) 

Definition at line 3602 of file c-common.c.

References TREE_CODE, and TREE_TYPE.

tree strip_pointer_operator ( tree  t  ) 

Definition at line 3612 of file c-common.c.

References POINTER_TYPE_P, and TREE_TYPE.

static bool sync_resolve_params ( tree  orig_function,
tree  function,
tree  params 
) [static]

static tree sync_resolve_return ( tree  params,
tree  result 
) [static]

Definition at line 6354 of file c-common.c.

References convert(), TREE_TYPE, TREE_VALUE, and TYPE_MAIN_VARIANT.

Referenced by resolve_overloaded_builtin().

static int sync_resolve_size ( tree  function,
tree  params 
) [static]

static void unsigned_conversion_warning ( tree  result,
tree  operand 
) [static]

int vector_types_convertible_p ( tree  t1,
tree  t2 
)

void verify_sequence_points ( tree  expr  ) 

static void verify_tree ( tree  x,
struct tlist **  pbefore_sp,
struct tlist **  pno_sp,
tree  writer 
) [static]

void warn_array_subscript_with_type_char ( tree  index  ) 

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().

static void warn_for_collisions ( struct tlist list  )  [static]

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]

Definition at line 1265 of file c-common.c.

References TREE_CODE.


Variable Documentation

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.

Definition at line 339 of file c-common.c.

Definition at line 5823 of file c-common.c.

Definition at line 3463 of file c-common.c.

Definition at line 397 of file c-common.c.

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.

Definition at line 381 of file c-common.c.

Definition at line 221 of file c-common.c.

Definition at line 217 of file c-common.c.

Definition at line 376 of file c-common.c.

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.

Definition at line 352 of file c-common.c.

Definition at line 362 of file c-common.c.

Definition at line 356 of file c-common.c.

int flag_iso

Definition at line 234 of file c-common.c.

Definition at line 308 of file c-common.c.

Definition at line 312 of file c-common.c.

Definition at line 258 of file c-common.c.

Definition at line 411 of file c-common.c.

Definition at line 286 of file c-common.c.

Definition at line 262 of file c-common.c.

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.

Definition at line 213 of file c-common.c.

Definition at line 372 of file c-common.c.

Definition at line 225 of file c-common.c.

Definition at line 440 of file c-common.c.

Definition at line 204 of file c-common.c.

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.

Definition at line 255 of file c-common.c.

Definition at line 266 of file c-common.c.

Definition at line 452 of file c-common.c.

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.

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.

Definition at line 424 of file c-common.c.

int flag_zero_link = 0

Definition at line 291 of file c-common.c.

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.

Definition at line 1142 of file c-common.c.

Definition at line 474 of file c-common.c.

char* tlist_firstobj = 0 [static]

Definition at line 1135 of file c-common.c.

Definition at line 1134 of file c-common.c.

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.


Generated on Wed Apr 8 15:12:24 2009 for Open64 by  doxygen 1.5.6