]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtin-unreachable.c: New test.
authorDavid Daney <ddaney@caviumnetworks.com>
Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)
committerDavid Daney <daney@gcc.gnu.org>
Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)
2009-06-17  David Daney  <ddaney@caviumnetworks.com>

* gcc.target/i386/builtin-unreachable.c: New test.

From-SVN: r148622

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

index 3e42e51de704602021f44b8b9a9ce036c50968a7..873ec275d0ec7205b2ecd655b32d8c2fc6c9c52f 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" } } */