From ae5d234e11b21b1aab2dc4a9e79f8a9d7831ef69 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Fri, 26 Apr 2002 14:56:55 -0700 Subject: [PATCH] c-typeck.c (build_unary_op): Invoke non_lvalue. * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue. * gcc.dg/lvalue1.c: New. From-SVN: r52812 --- gcc/ChangeLog | 5 +++++ gcc/c-typeck.c | 1 + gcc/testsuite/gcc.dg/lvalue1.c | 9 +++++++++ 3 files changed, 15 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/lvalue1.c 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; +}