re PR c++/28989 (post-increment of bool variable accepted as lvalue)
2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/28989 * tree.c (lvalue_p_1 <case SAVE_EXPR>): SAVE_EXPRs are never lvalues. 2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c++/28989 * g++.dg/expr/lval3.C: New test. * g++.dg/expr/lval4.C: New test. From-SVN: r127603
This commit is contained in:
parent
279e32c924
commit
8f4361eb9f
5 changed files with 32 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR c++/28989
|
||||
* tree.c (lvalue_p_1 <case SAVE_EXPR>): SAVE_EXPRs are never
|
||||
lvalues.
|
||||
|
||||
2007-08-17 Ollie Wild <aaw@google.com>
|
||||
|
||||
PR c++/31749
|
||||
|
|
|
@ -92,11 +92,12 @@ lvalue_p_1 (tree ref,
|
|||
|
||||
switch (TREE_CODE (ref))
|
||||
{
|
||||
case SAVE_EXPR:
|
||||
return clk_none;
|
||||
/* preincrements and predecrements are valid lvals, provided
|
||||
what they refer to are valid lvals. */
|
||||
case PREINCREMENT_EXPR:
|
||||
case PREDECREMENT_EXPR:
|
||||
case SAVE_EXPR:
|
||||
case TRY_CATCH_EXPR:
|
||||
case WITH_CLEANUP_EXPR:
|
||||
case REALPART_EXPR:
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
PR c++/28989
|
||||
* g++.dg/expr/lval3.C: New test.
|
||||
* g++.dg/expr/lval4.C: New test.
|
||||
|
||||
2007-08-17 Ollie Wild <aaw@google.com>
|
||||
|
||||
PR c++/31749
|
||||
|
|
9
gcc/testsuite/g++.dg/expr/lval3.C
Normal file
9
gcc/testsuite/g++.dg/expr/lval3.C
Normal file
|
@ -0,0 +1,9 @@
|
|||
// i++ is never an lvalue
|
||||
void
|
||||
f()
|
||||
{
|
||||
bool i = 0;
|
||||
i++ = 3; // { dg-error "" }
|
||||
}
|
||||
|
||||
|
9
gcc/testsuite/g++.dg/expr/lval4.C
Normal file
9
gcc/testsuite/g++.dg/expr/lval4.C
Normal file
|
@ -0,0 +1,9 @@
|
|||
// ++i is always an lvalue
|
||||
void
|
||||
f()
|
||||
{
|
||||
bool i = 0;
|
||||
++i = 3;
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue