aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c
new file mode 100644
index 000000000..72a25c52e
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr53390.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+
+extern unsigned short var1;
+extern int var2;
+
+extern struct {
+ int f1;
+ unsigned short *f2;
+} *my_table;
+
+void foo(void)
+{
+ unsigned short *local_vec
+ = __builtin_malloc(var1 * var2 * sizeof(unsigned short));
+ unsigned short i;
+
+ my_table[0].f2 = __builtin_malloc(var1 * sizeof(unsigned short));
+
+ for (i = 0; i < var1; ++i)
+ my_table[0].f2[i] = local_vec[i * var2];
+}