aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-04-26 14:56:55 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-04-26 14:56:55 -0700
commitae5d234e11b21b1aab2dc4a9e79f8a9d7831ef69 (patch)
tree269d5519c775b8ee503d8a2f3db96e45e45d1943 /gcc
parent7d793e9b25c1bf4a122113ab1e54aab528ee32a1 (diff)
downloadgcc-ae5d234e11b21b1aab2dc4a9e79f8a9d7831ef69.zip
gcc-ae5d234e11b21b1aab2dc4a9e79f8a9d7831ef69.tar.gz
gcc-ae5d234e11b21b1aab2dc4a9e79f8a9d7831ef69.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-typeck.c1
-rw-r--r--gcc/testsuite/gcc.dg/lvalue1.c9
3 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05394ca..6a32a21 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ PR c/5225
+ * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
+
2002-04-26 Mark Mitchell <mark@codesourcery.com>
PR bootstrap/6445
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index f883801..7e91d4f 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 0000000..7e21608
--- /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;
+}