aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-09 18:24:45 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-09 18:24:45 +0000
commitdd7e9680c64191adca49ae5463bda3653e81db72 (patch)
tree8701c4dc45e51b52b57f4a0a284ed6322e45c446
parent08f7bd43d6b7cc49a5112fad0fa2eff50e58b074 (diff)
2006-08-09 Paul Brook <paul@codesourcery.com>csl/renesas/4.1-7
gcc/ * final.c (final_scan_insn): Clear current_insn_predicate before outputting inline asm. gcc/testsuite/ * gcc.target/arm/cond-asm.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@116042 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/gcc.target/arm/cond-asm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/arm/cond-asm.c b/gcc/testsuite/gcc.target/arm/cond-asm.c
new file mode 100644
index 00000000000..450bd9d6a82
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/cond-asm.c
@@ -0,0 +1,13 @@
+/* Check that %? in inline asm expands to nothing. */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-require-effective-target arm32 } */
+int b;
+int foo(int a)
+{
+ if (a)
+ b = 42;
+ asm ("test%?me":"=r"(a):"0"(a));
+ return a;
+}
+/* { dg-final { scan-assembler "testme" } } */