Add missing testcase.
authorYvan Roux <yvan.roux@linaro.org>
Tue, 14 Apr 2015 12:12:29 +0000 (12:12 +0000)
committerYvan Roux <yroux@gcc.gnu.org>
Tue, 14 Apr 2015 12:12:29 +0000 (12:12 +0000)
2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

PR target/65648
* gcc.c-torture/execute/pr65648.c: New test.

From-SVN: r222083

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr65648.c [new file with mode: 0644]

index 37285f9c9fc8a877b449b2af11a506d520aa3c51..0c43e9c63f7bfdc94f38911ed741e928ddd78343 100644 (file)
@@ -1,3 +1,8 @@
+2015-04-14  Yvan Roux  <yvan.roux@linaro.org>
+
+       PR target/65648
+       * gcc.c-torture/execute/pr65648.c: New test.
+
 2015-04-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr65648.c b/gcc/testsuite/gcc.c-torture/execute/pr65648.c
new file mode 100644 (file)
index 0000000..88a2fc9
--- /dev/null
@@ -0,0 +1,34 @@
+/* PR target/65648 */
+
+int a = 0, *b = 0, c = 0;
+static int d = 0;
+short e = 1;
+static long long f = 0;
+long long *i = &f;
+unsigned char j = 0;
+
+__attribute__((noinline, noclone)) void
+foo (int x, int *y)
+{
+  asm volatile ("" : : "r" (x), "r" (y) : "memory");
+}
+
+__attribute__((noinline, noclone)) void
+bar (const char *x, long long y)
+{
+  asm volatile ("" : : "r" (x), "r" (&y) : "memory");
+  if (y != 0)
+    __builtin_abort ();
+}
+
+int
+main ()
+{
+  int k = 0;
+  b = &k;
+  j = (!a) - (c <= e);
+  *i = j;
+  foo (a, &k);
+  bar ("", f);
+  return 0;
+}