summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/asm-7.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-09 03:21:56 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-09 03:21:56 +0000
commit68b956aec6b292f374113dec0c1ee1fcf5ef54f4 (patch)
tree09f0b6ed28e40cc9846facf74e75892be87ef0f1 /gcc/testsuite/gcc.dg/asm-7.c
parente8e65fad8274ae621b1348b71c01a77b64d799fc (diff)
downloadgcc-68b956aec6b292f374113dec0c1ee1fcf5ef54f4.tar.gz
* expr.h (EXPAND_MEMORY): New.
* expr.c (expand_expr): Check it. * stmt.c (expand_asm_operands): Provide it when the constraint requires a memory. Warn for memory input constraints without a memory operand. * gcc.dg/20011029-2.c: Fix the array reference. * gcc.dg/asm-7.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67645 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/asm-7.c')
-rw-r--r--gcc/testsuite/gcc.dg/asm-7.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/asm-7.c b/gcc/testsuite/gcc.dg/asm-7.c
new file mode 100644
index 00000000000..a3b6c759823
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/asm-7.c
@@ -0,0 +1,26 @@
+/* Gcc 3.3.1 deprecates memory inputs of non-lvalues. */
+/* { dg-do compile } */
+
+void test(void)
+{
+ register int r;
+ register int r2;
+ int i;
+ static int m;
+
+ __asm__ ("" : : "m"(r)); /* { dg-warning "address of register" } */
+ __asm__ ("" : : "m"(i));
+ __asm__ ("" : : "m"(m));
+ __asm__ ("" : : "m"(0)); /* { dg-warning "deprecated memory input" } */
+ __asm__ ("" : : "m"(i+1)); /* { dg-warning "deprecated memory input" } */
+
+ __asm__ ("" : : "g"(r));
+ __asm__ ("" : : "g"(i));
+ __asm__ ("" : : "g"(m));
+ __asm__ ("" : : "g"(0));
+ __asm__ ("" : : "g"(i+1));
+
+ __asm__ ("" : "=m"(r2)); /* { dg-warning "address of register" } */
+ __asm__ ("" : "=m"(i));
+ __asm__ ("" : "=m"(m));
+}