summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tls/emutls-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/tls/emutls-1.c')
-rw-r--r--gcc/testsuite/gcc.dg/tls/emutls-1.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tls/emutls-1.c b/gcc/testsuite/gcc.dg/tls/emutls-1.c
new file mode 100644
index 000000000..3b3577c89
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tls/emutls-1.c
@@ -0,0 +1,22 @@
+/* { dg-do run { target *-wrs-vxworks } } */
+/* { dg-require-effective-target tls } */
+/* { dg-add-options tls } */
+
+/* vxworks' TLS model requires no extra padding on the tls proxy
+ objects. */
+
+__thread int i;
+__thread int j;
+
+extern int __tls__i;
+extern int __tls__j;
+
+int main ()
+{
+ int delta = ((char *)&__tls__j - (char *)&__tls__i);
+
+ if (delta < 0)
+ delta = -delta;
+
+ return delta != 12;
+}