aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2015-04-14 12:12:29 +0000
committerYvan Roux <yroux@gcc.gnu.org>2015-04-14 12:12:29 +0000
commit4db56dfe7a3e4cb95d55a4433eebaa83fc4b8e09 (patch)
tree72487792a8780c5816ea0461218ec7f8c6ca3ac0 /gcc
parent194571f10e354ff084afd84518f85d3326d118e9 (diff)
downloadgcc-4db56dfe7a3e4cb95d55a4433eebaa83fc4b8e09.zip
gcc-4db56dfe7a3e4cb95d55a4433eebaa83fc4b8e09.tar.gz
gcc-4db56dfe7a3e4cb95d55a4433eebaa83fc4b8e09.tar.bz2
Add missing testcase.
2015-04-14 Yvan Roux <yvan.roux@linaro.org> PR target/65648 * gcc.c-torture/execute/pr65648.c: New test. From-SVN: r222083
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr65648.c34
2 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 37285f9..0c43e9c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..88a2fc9
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr65648.c
@@ -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;
+}