From 18922a6bca05d3b30755004d57f3c37a2af049e4 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 26 Mar 1998 11:16:45 +0000 Subject: [PATCH] decl.c (grokdeclarator): Remove const and volatile from type after setting constp and volatilep. * 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. From-SVN: r18843 --- gcc/cp/ChangeLog | 8 ++++++++ gcc/cp/class.c | 3 ++- gcc/cp/decl.c | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6ca4d8d..a25b441 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,11 @@ +Thu Mar 26 11:16:30 1998 Jason Merrill + + * 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 * pt.c (convert_nontype_argument): STRIP_NOPS where appropriate. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 337c090..7440a8a7 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -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); } diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5a3664e..15fa6fb 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -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); -- 2.7.4