aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/pr68960.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-01-07 09:45:54 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-01-07 09:45:54 +0100
commit8fc708b795bd3910524f1e62e1d0066cae7d9c5e (patch)
tree254f4d82e10f3f162b44144b402ba06abc6794b0 /libgomp/testsuite/libgomp.c/pr68960.c
parent827d8502a59f32ed533ccf7c76ba32ea6bc27b30 (diff)
downloadgcc-8fc708b795bd3910524f1e62e1d0066cae7d9c5e.zip
gcc-8fc708b795bd3910524f1e62e1d0066cae7d9c5e.tar.gz
gcc-8fc708b795bd3910524f1e62e1d0066cae7d9c5e.tar.bz2
re PR c/68960 (__attribute__ ((aligned ())) is ignored for OpenMP private variables)
PR middle-end/68960 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy it and DECL_ALIGN too. * testsuite/libgomp.c/pr68960.c: New test. From-SVN: r232122
Diffstat (limited to 'libgomp/testsuite/libgomp.c/pr68960.c')
-rw-r--r--libgomp/testsuite/libgomp.c/pr68960.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c/pr68960.c b/libgomp/testsuite/libgomp.c/pr68960.c
new file mode 100644
index 0000000..2accc6a
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c/pr68960.c
@@ -0,0 +1,25 @@
+/* PR middle-end/68960 */
+/* { dg-do run } */
+
+int
+main ()
+{
+ int temp[257] __attribute__ ((aligned (256))) = { 0 };
+ #pragma omp parallel private (temp) num_threads (2)
+ {
+ int *p = &temp[0];
+ asm volatile ("" : "+g" (p));
+ if (((__UINTPTR_TYPE__) p) & 255)
+ __builtin_abort ();
+ }
+ #pragma omp parallel num_threads (2)
+ #pragma omp single
+ #pragma omp task firstprivate (temp)
+ {
+ int *p = &temp[0];
+ asm volatile ("" : "+g" (p));
+ if (((__UINTPTR_TYPE__) p) & 255)
+ __builtin_abort ();
+ }
+ return 0;
+}