aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2012-05-09 13:32:13 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2012-05-09 06:32:13 -0700
commitaf9059026e06dba389703e250292ca5a965ade17 (patch)
tree6ba2dfb7ac90c107d2f18ad487c5b0a1cc5d4198 /gcc
parente7ff45102cfddb8e827c187246315eced6194dc1 (diff)
downloadgcc-af9059026e06dba389703e250292ca5a965ade17.zip
gcc-af9059026e06dba389703e250292ca5a965ade17.tar.gz
gcc-af9059026e06dba389703e250292ca5a965ade17.tar.bz2
Add a test for PR middle-end/53249
PR middle-end/53249 * gcc.target/i386/pr53249.c: New. From-SVN: r187331
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr53249.c25
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0099907..06c1f9d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/53249
+ * gcc.target/i386/pr53249.c: New.
+
2012-05-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/18437
diff --git a/gcc/testsuite/gcc.target/i386/pr53249.c b/gcc/testsuite/gcc.target/i386/pr53249.c
new file mode 100644
index 0000000..9eab8bc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr53249.c
@@ -0,0 +1,25 @@
+/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */
+
+struct gomp_task
+{
+ struct gomp_task *parent;
+};
+
+struct gomp_thread
+{
+ int foo1;
+ struct gomp_task *task;
+};
+
+extern __thread struct gomp_thread gomp_tls_data;
+
+void
+__attribute__ ((noinline))
+gomp_end_task (void)
+{
+ struct gomp_thread *thr = &gomp_tls_data;
+ struct gomp_task *task = thr->task;
+
+ thr->task = task->parent;
+}