From af9059026e06dba389703e250292ca5a965ade17 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hongjiu.lu@intel.com>
Date: Wed, 9 May 2012 13:32:13 +0000
Subject: [PATCH] Add a test for PR middle-end/53249

	PR middle-end/53249
	* gcc.target/i386/pr53249.c: New.

From-SVN: r187331
---
 gcc/testsuite/ChangeLog                 |  5 +++++
 gcc/testsuite/gcc.target/i386/pr53249.c | 25 +++++++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr53249.c

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 00999072e345..06c1f9d852af 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 000000000000..9eab8bc135be
--- /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;
+}
-- 
GitLab