aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-20 00:18:10 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-20 00:18:10 +0000
commit1bef1e7c43edecfb334d7ee72ab077f1240c8a50 (patch)
tree535386c85e5793eefd20e15bfe4af158fb3c8de8 /gcc
parent921150153a759014700f6b0500df679af4afc4de (diff)
downloadgcc-1bef1e7c43edecfb334d7ee72ab077f1240c8a50.zip
gcc-1bef1e7c43edecfb334d7ee72ab077f1240c8a50.tar.gz
gcc-1bef1e7c43edecfb334d7ee72ab077f1240c8a50.tar.bz2
* c-typeck.c (c_expand_asm_operands): Fix typo.
From-SVN: r30095
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-typeck.c2
-rw-r--r--gcc/testsuite/gcc.dg/asm-1.c11
3 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dcc0393..83d0ae9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * c-typeck.c (c_expand_asm_operands): Fix typo.
+
Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
* arm.c (fpu_rhs_operand): Verify modes.
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 0d6ec00..71d8262 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -6538,7 +6538,7 @@ c_expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
|| TREE_CODE (output) == FIX_FLOOR_EXPR
|| TREE_CODE (output) == FIX_ROUND_EXPR
|| TREE_CODE (output) == FIX_CEIL_EXPR)
- output = TREE_OPERAND (output, 1);
+ output = TREE_OPERAND (output, 0);
lvalue_or_else (o[i], "invalid lvalue in asm statement");
}
diff --git a/gcc/testsuite/gcc.dg/asm-1.c b/gcc/testsuite/gcc.dg/asm-1.c
new file mode 100644
index 0000000..1f50942
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/asm-1.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target i?86-*-* } } */
+
+struct x {
+ int selector;
+};
+
+void f()
+{
+ struct x* addr;
+ __asm__("mov %%gs,%0":"=r" ((unsigned short)addr->selector)); /* { dg-error "lvalue" "casts make rvalues" } */
+}