aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-08-09 18:24:45 +0000
committerPaul Brook <paul@codesourcery.com>2006-08-09 18:24:45 +0000
commit487cb5e0cdbb02e1b4a9b1cda26b21f7cbb8322f (patch)
tree8701c4dc45e51b52b57f4a0a284ed6322e45c446
parent13d751eb3df2b44fcd641a06a7efa4296773ab03 (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: https://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" } } */