/gcc/testsuite/gcc.dg/gomp/pr27388-2.c

https://gitlab.com/sortix/gcc · C · 35 lines · 21 code · 4 blank · 10 comment · 3 complexity · 378b0d7e23d2ea5a426ff7ee8711a55a MD5 · raw file

  1. /* PR middle-end/27388 */
  2. /* { dg-do compile } */
  3. /* { dg-options "-fopenmp -fdump-tree-omplower" } */
  4. extern void baz (int);
  5. void
  6. foo (void)
  7. {
  8. int i;
  9. #pragma omp parallel for shared (i)
  10. for (i = 0; i < 2; i++)
  11. baz (i);
  12. }
  13. void
  14. bar (void)
  15. {
  16. int j = 0;
  17. #pragma omp parallel shared (j)
  18. {
  19. j++;
  20. #pragma omp for
  21. for (j = 0; j < 2; j++)
  22. baz (j);
  23. }
  24. }
  25. /* { dg-final { scan-tree-dump-times "shared\\\(i\\\)\[^\\n\]*private\\\(i\\\)" 0 "omplower" } } */
  26. /* { dg-final { scan-tree-dump-times "private\\\(i\\\)\[^\\n\]*shared\\\(i\\\)" 0 "omplower" } } */
  27. /* { dg-final { scan-tree-dump-times "omp for\[^\\n\]*private\\\(i\\\)" 1 "omplower" } } */
  28. /* { dg-final { scan-tree-dump-times "shared\\\(j\\\)\[^\\n\]*private\\\(j\\\)" 0 "omplower" } } */
  29. /* { dg-final { scan-tree-dump-times "private\\\(j\\\)\[^\\n\]*shared\\\(j\\\)" 0 "omplower" } } */
  30. /* { dg-final { scan-tree-dump-times "omp for\[^\\n\]*private\\\(j\\\)" 1 "omplower" } } */
  31. /* { dg-final { cleanup-tree-dump "omplower" } } */