OSDN Git Service

2009-06-17 David Daney <ddaney@caviumnetworks.com>
authordaney <daney@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)
committerdaney <daney@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)
* gcc.target/i386/builtin-unreachable.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148622 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/builtin-unreachable.c [new file with mode: 0644]

index 3e42e51..873ec27 100644 (file)
@@ -1,3 +1,7 @@
+2009-06-17  David Daney  <ddaney@caviumnetworks.com>
+
+       * gcc.target/i386/builtin-unreachable.c: New test.
+
 2009-06-17  Ian Lance Taylor  <iant@google.com>
 
        * gcc.dg/Wcxx-compat-14.c: New testcase.
diff --git a/gcc/testsuite/gcc.target/i386/builtin-unreachable.c b/gcc/testsuite/gcc.target/i386/builtin-unreachable.c
new file mode 100644 (file)
index 0000000..802cf16
--- /dev/null
@@ -0,0 +1,13 @@
+/* This should return 1 without setting up a stack frame or
+   jumping.  */
+/* { dg-do compile } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-O2 -fomit-frame-pointer" } */
+int h (char *p)
+{
+  if (*p)
+    __builtin_unreachable ();
+  return p ? 1 : 0;
+}
+/* { dg-final { scan-assembler-not "%e\[bs\]p" } } */
+/* { dg-final { scan-assembler-not "\[\\t \]+j" } } */