From: Richard Guenther Date: Wed, 4 May 2011 14:56:14 +0000 (+0000) Subject: c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c62c040f163cb557936e5b680dbb822d31c2e8e7;p=gcc.git c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst. 2011-05-04 Richard Guenther * c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst. * c-typeck.c (really_start_incremental_init): Use bitsize_int for constructor indices. (push_init_level): Likewise. c-family/ * c-common.c (fix_string_type): Use size_int for index type bounds. (start_fname_decls): Do not pass NULL to build_int_cst. (c_init_attributes): Likewise. * c-lex.c (c_lex_with_flags): Likewise. From-SVN: r173378 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a66c1fa279e..7083a15ac36 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-05-04 Richard Guenther + + * c-decl.c (check_bitfield_type_and_width): Do not pass NULL + to build_int_cst. + * c-typeck.c (really_start_incremental_init): Use bitsize_int + for constructor indices. + (push_init_level): Likewise. + 2011-05-04 Richard Guenther * explow.c (promote_mode): Move variable declarations before code. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 008f4c65c76..9b217d26de5 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -4717,7 +4717,7 @@ check_bitfield_type_and_width (tree *type, tree *width, tree orig_name) { error ("width of %qs exceeds its type", name); w = max_width; - *width = build_int_cst (NULL_TREE, w); + *width = build_int_cst (integer_type_node, w); } else w = tree_low_cst (*width, 1); diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 8864a3238e9..8ad5f6e491b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2011-05-04 Richard Guenther + + * c-common.c (fix_string_type): Use size_int for index type bounds. + (start_fname_decls): Do not pass NULL to build_int_cst. + (c_init_attributes): Likewise. + * c-lex.c (c_lex_with_flags): Likewise. + 2011-04-27 Jason Merrill * c-common.c (make_tree_vector_from_list): New. diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 802040d9b03..aaaa2106530 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -743,7 +743,8 @@ start_fname_decls (void) if (decl) { - saved = tree_cons (decl, build_int_cst (NULL_TREE, ix), saved); + saved = tree_cons (decl, build_int_cst (integer_type_node, ix), + saved); *fname_vars[ix].decl = NULL_TREE; } } @@ -946,7 +947,7 @@ fix_string_type (tree value) construct the matching unqualified array type first. The C front end does not require this, but it does no harm, so we do it unconditionally. */ - i_type = build_index_type (build_int_cst (NULL_TREE, nchars - 1)); + i_type = build_index_type (size_int (nchars - 1)); a_type = build_array_type (e_type, i_type); if (c_dialect_cxx() || warn_write_strings) a_type = c_build_qualified_type (a_type, TYPE_QUAL_CONST); @@ -5670,7 +5671,7 @@ c_init_attributes (void) #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); + built_in_attributes[(int) ENUM] = build_int_cst (integer_type_node, VALUE); #define DEF_ATTR_IDENT(ENUM, STRING) \ built_in_attributes[(int) ENUM] = get_identifier (STRING); #define DEF_ATTR_TREE_LIST(ENUM, PURPOSE, VALUE, CHAIN) \ diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c index 1ea57f1cdda..e60dcc53588 100644 --- a/gcc/c-family/c-lex.c +++ b/gcc/c-family/c-lex.c @@ -437,7 +437,7 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags, break; case CPP_PRAGMA: - *value = build_int_cst (NULL, tok->val.pragma); + *value = build_int_cst (integer_type_node, tok->val.pragma); break; /* These tokens should not be visible outside cpplib. */ diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 2f9f1424cd2..545cd01ec16 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -6636,7 +6636,7 @@ really_start_incremental_init (tree type) { /* Vectors are like simple fixed-size arrays. */ constructor_max_index = - build_int_cst (NULL_TREE, TYPE_VECTOR_SUBPARTS (constructor_type) - 1); + bitsize_int (TYPE_VECTOR_SUBPARTS (constructor_type) - 1); constructor_index = bitsize_zero_node; constructor_unfilled_index = constructor_index; } @@ -6805,8 +6805,8 @@ push_init_level (int implicit, struct obstack * braced_init_obstack) { /* Vectors are like simple fixed-size arrays. */ constructor_max_index = - build_int_cst (NULL_TREE, TYPE_VECTOR_SUBPARTS (constructor_type) - 1); - constructor_index = convert (bitsizetype, integer_zero_node); + bitsize_int (TYPE_VECTOR_SUBPARTS (constructor_type) - 1); + constructor_index = bitsize_int (0); constructor_unfilled_index = constructor_index; } else if (TREE_CODE (constructor_type) == ARRAY_TYPE)