[Bug c++/30274] [4.2/4.3 Regression] bool bit-field: wrong increment and decremenet
mmitchel at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Mar 11 03:08:00 GMT 2007
------- Comment #10 from mmitchel at gcc dot gnu dot org 2007-03-11 03:08 -------
Subject: Bug 30274
Author: mmitchel
Date: Sun Mar 11 03:07:59 2007
New Revision: 122813
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122813
Log:
PR c++/30274
* cp-tree.h (unlowered_expr_type): New function.
* typeck.c (is_bitfield_expr_with_lowered_type): Handle
COMPOUND_EXPR, MODIFY_EXPR, and SAVE_EXPR.
(unlowered_expr_type): New function.
(build_unary_op): Disallow predecrements of bool bitfields.
* call.c (build_conditional_expr): Use unlowered_expr_type.
* pt.c (type_unification_real): Likewise.
PR c++/30274
* g++.dg/expr/bitfield3.C: New test.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
Added:
trunk/gcc/testsuite/g++.dg/expr/bitfield3.C
trunk/gcc/testsuite/g++.dg/expr/bitfield4.C
trunk/gcc/testsuite/g++.dg/expr/bitfield5.C
trunk/gcc/testsuite/g++.dg/expr/bitfield6.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30274
More information about the Gcc-bugs
mailing list