diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05394caf8ed..6a32a2106af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-04-26 Richard Henderson + + PR c/5225 + * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue. + 2002-04-26 Mark Mitchell PR bootstrap/6445 diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index f8838019557..7e91d4fc692 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -2759,6 +2759,7 @@ build_unary_op (code, xarg, flag) } else if (!noconvert) arg = default_conversion (arg); + arg = non_lvalue (arg); break; case NEGATE_EXPR: diff --git a/gcc/testsuite/gcc.dg/lvalue1.c b/gcc/testsuite/gcc.dg/lvalue1.c new file mode 100644 index 00000000000..7e21608ab36 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lvalue1.c @@ -0,0 +1,9 @@ +/* PR c/5225 */ +/* { dg-do compile } */ + +int main() +{ + int i; + +i = 1; /* { dg-error "invalid lvalue in assignment" } */ + return 0; +}