OSDN Git Service

* decl.c (grokdeclarator): Remove const and volatile from type after
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Mar 1998 11:16:45 +0000 (11:16 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Mar 1998 11:16:45 +0000 (11:16 +0000)
setting constp and volatilep.
* class.c (finish_struct_1): Don't warn about bool bitfield larger
than one bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18843 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/decl.c

index 6ca4d8d..a25b441 100644 (file)
@@ -1,3 +1,11 @@
+Thu Mar 26 11:16:30 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (grokdeclarator): Remove const and volatile from type after
+       setting constp and volatilep.
+
+       * class.c (finish_struct_1): Don't warn about bool bitfield larger
+       than one bit.
+
 Thu Mar 26 10:25:52 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * pt.c (convert_nontype_argument): STRIP_NOPS where appropriate.
index 337c090..7440a8a 100644 (file)
@@ -3499,7 +3499,8 @@ finish_struct_1 (t, warn_anon)
                  cp_error_at ("  in declaration of `%D'", x);
                }
              else if (width > TYPE_PRECISION (TREE_TYPE (x))
-                      && TREE_CODE (TREE_TYPE (x)) != ENUMERAL_TYPE)
+                      && TREE_CODE (TREE_TYPE (x)) != ENUMERAL_TYPE
+                      && TREE_CODE (TREE_TYPE (x)) != BOOLEAN_TYPE)
                {
                  cp_warning_at ("width of `%D' exceeds its type", x);
                }
index 5a3664e..15fa6fb 100644 (file)
@@ -8397,6 +8397,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
 
   constp = !! RIDBIT_SETP (RID_CONST, specbits) + TYPE_READONLY (type);
   volatilep = !! RIDBIT_SETP (RID_VOLATILE, specbits) + TYPE_VOLATILE (type);
+  type = TYPE_MAIN_VARIANT (type);
   staticp = 0;
   inlinep = !! RIDBIT_SETP (RID_INLINE, specbits);
   virtualp = RIDBIT_SETP (RID_VIRTUAL, specbits);