Commit 5d352b2d by Gabriel Dos Reis Committed by Gabriel Dos Reis

re PR c++/13384 (error: non-lvalue in assignment - message a little misleading for C++)

        PR c/13384
        * c-common.c (lvalue_error): Fix wording.
testsuite/
        PR c/13384
        * gcc.dg/pr17730-1.c: Adjust.
        * gcc.dg/lvalue1.c (main): Likewise.
        * gcc.dg/lvalue-2.c: Likewise.
        * g++.dg/pr7503-3.C

From-SVN: r107816
parent 42889271
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c/13384
* c-common.c (lvalue_error): Fix wording.
2005-12-01 Richard Guenther <rguenther@suse.de> 2005-12-01 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix * tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix
......
...@@ -5990,19 +5990,19 @@ lvalue_error (enum lvalue_use use) ...@@ -5990,19 +5990,19 @@ lvalue_error (enum lvalue_use use)
switch (use) switch (use)
{ {
case lv_assign: case lv_assign:
error ("invalid lvalue in assignment"); error ("lvalue required as left operand of assignment");
break; break;
case lv_increment: case lv_increment:
error ("invalid lvalue in increment"); error ("lvalue required as increment operand");
break; break;
case lv_decrement: case lv_decrement:
error ("invalid lvalue in decrement"); error ("lvalue required as decrement operand");
break; break;
case lv_addressof: case lv_addressof:
error ("invalid lvalue in unary %<&%>"); error ("lvalue required as unary %<&%> operand");
break; break;
case lv_asm: case lv_asm:
error ("invalid lvalue in asm statement"); error ("lvalue required in asm statement");
break; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
......
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c/13384
* gcc.dg/pr17730-1.c: Adjust.
* gcc.dg/lvalue1.c (main): Likewise.
* gcc.dg/lvalue-2.c: Likewise.
* g++.dg/pr7503-3.C
2005-12-01 Geoffrey Keating <geoffk@apple.com> 2005-12-01 Geoffrey Keating <geoffk@apple.com>
* gcc.target/powerpc/pr18096-1.c: Be more liberal about possible * gcc.target/powerpc/pr18096-1.c: Be more liberal about possible
...@@ -6,21 +6,21 @@ extern int A, B; ...@@ -6,21 +6,21 @@ extern int A, B;
void test1() void test1()
{ {
(A++ <? B) = 0; // { dg-error "lvalue in assignment" } (A++ <? B) = 0; // { dg-error "lvalue required" }
} }
void test2() void test2()
{ {
(A <? B++) = 0; // { dg-error "lvalue in assignment" } (A <? B++) = 0; // { dg-error "lvalue required" }
} }
void test3() void test3()
{ {
(A++ >? B) = 0; // { dg-error "lvalue in assignment" } (A++ >? B) = 0; // { dg-error "lvalue required" }
} }
void test4() void test4()
{ {
(A >? B++) = 0; // { dg-error "lvalue in assignment" } (A >? B++) = 0; // { dg-error "lvalue required" }
} }
...@@ -9,12 +9,12 @@ int a, b; ...@@ -9,12 +9,12 @@ int a, b;
void void
f0 (void) f0 (void)
{ {
(a+b) = 1; /* { dg-error "error: invalid lvalue in assignment" } */ (a+b) = 1; /* { dg-error "lvalue required as left operand of assignment" } */
(a+b)++; /* { dg-error "error: invalid lvalue in increment" } */ (a+b)++; /* { dg-error "lvalue required as increment operand" } */
++(a+b); /* { dg-error "error: invalid lvalue in increment" } */ ++(a+b); /* { dg-error "lvalue required as increment operand" } */
(a+b)--; /* { dg-error "error: invalid lvalue in decrement" } */ (a+b)--; /* { dg-error "lvalue required as decrement operand" } */
--(a+b); /* { dg-error "error: invalid lvalue in decrement" } */ --(a+b); /* { dg-error "lvalue required as decrement operand" } */
&(a+b); /* { dg-error "error: invalid lvalue in unary '&'" } */ &(a+b); /* { dg-error "lvalue required as unary '&' operand" } */
} }
const int c; const int c;
......
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
int main() int main()
{ {
int i; int i;
+i = 1; /* { dg-error "invalid lvalue in assignment" } */ +i = 1; /* { dg-error "lvalue required as left operand of assignment" } */
return 0; return 0;
} }
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "" } */ /* { dg-options "" } */
char *p = &'C'; /* { dg-error "error: invalid lvalue in unary '&'" } */ char *p = &'C'; /* { dg-error "error: lvalue required as unary '&' operand" } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment