c-decl.c (check_bitfield_type_and_width): Do not pass NULL to build_int_cst.
authorRichard Guenther <rguenther@suse.de>
Wed, 4 May 2011 14:56:14 +0000 (14:56 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 4 May 2011 14:56:14 +0000 (14:56 +0000)
2011-05-04  Richard Guenther  <rguenther@suse.de>

* 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

gcc/ChangeLog
gcc/c-decl.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-lex.c
gcc/c-typeck.c

index a66c1fa279e0d6229411ef8178caa355a6f98a5a..7083a15ac365e8f93aa5e136d8ec17f67efd159d 100644 (file)
@@ -1,3 +1,11 @@
+2011-05-04  Richard Guenther  <rguenther@suse.de>
+
+       * 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  <rguenther@suse.de>
 
        * explow.c (promote_mode): Move variable declarations before code.
index 008f4c65c761293b81e6391b0602a4c238bcdc5a..9b217d26de5eb79128f89ce7dacddb784a52e6df 100644 (file)
@@ -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);
index 8864a3238e92cd3784c0250c25e2aec4be700b0c..8ad5f6e491bd822a8ac2d682bf04ca8d20018315 100644 (file)
@@ -1,3 +1,10 @@
+2011-05-04  Richard Guenther  <rguenther@suse.de>
+
+       * 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  <jason@redhat.com>
 
        * c-common.c (make_tree_vector_from_list): New.
index 802040d9b0327bf342870312dafec1255e1365d5..aaaa21065306e0a139781984ab74bf58f908daa7 100644 (file)
@@ -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)        \
index 1ea57f1cdda1577eaa43ba4d8e393f2ebab8180b..e60dcc53588997b457755971891e6bb24bfe8f37 100644 (file)
@@ -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.  */
index 2f9f1424cd29fef41f26e55597984b0088fa3009..545cd01ec16eb63150c354440d754b7d36f07a56 100644 (file)
@@ -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)