1 void foo(void)2foo (void) 3 { 4 int i; 5 #pragma omp taskloop 6 for (i = 0; i < 64; i++) 7 { 8 int j; 9 #pragma omp for /* { dg-error "region may not be closely nested inside of" } */ 10 for (j = 0; j < 10; j++) 11 ; 12 #pragma omp single /* { dg-error "region may not be closely nested inside of" } */ 13 ; 14 #pragma omp sections /* { dg-error "region may not be closely nested inside of" } */ 15 { 16 #pragma omp section 17 ; 18 } 19 #pragma omp barrier /* { dg-error "region may not be closely nested inside of" } */ 20 #pragma omp master /* { dg-error "region may not be closely nested inside of" } */ 21 ; 22 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ 23 ; 24 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ 25 ; 26 #pragma omp ordered simd threads /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */ 27 ; 28 #pragma omp simd 29 for (j = 0; j < 10; j++) 30 #pragma omp ordered simd 31 ; 32 #pragma omp critical 33 { 34 #pragma omp simd 35 for (j = 0; j < 10; j++) 36 #pragma omp ordered simd 37 ; 38 } 39 } 40 #pragma omp taskloop 41 for (i = 0; i < 64; i++) 42 #pragma omp parallel 43 { 44 int j; 45 #pragma omp for 46 for (j = 0; j < 10; j++) 47 ; 48 #pragma omp single 49 ; 50 #pragma omp sections 51 { 52 #pragma omp section 53 ; 54 } 55 #pragma omp barrier 56 #pragma omp master 57 ; 58 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 59 ; 60 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 61 ; 62 #pragma omp simd 63 for (j = 0; j < 10; j++) 64 #pragma omp ordered simd 65 ; 66 #pragma omp critical 67 { 68 #pragma omp simd 69 for (j = 0; j < 10; j++) 70 #pragma omp ordered simd 71 ; 72 } 73 } 74 #pragma omp taskloop 75 for (i = 0; i < 64; i++) 76 #pragma omp target 77 { 78 int j; 79 #pragma omp for 80 for (j = 0; j < 10; j++) 81 ; 82 #pragma omp single 83 ; 84 #pragma omp sections 85 { 86 #pragma omp section 87 ; 88 } 89 #pragma omp barrier 90 #pragma omp master 91 ; 92 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 93 ; 94 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 95 ; 96 #pragma omp simd 97 for (j = 0; j < 10; j++) 98 #pragma omp ordered simd 99 ; 100 #pragma omp critical 101 { 102 #pragma omp simd 103 for (j = 0; j < 10; j++) 104 #pragma omp ordered simd 105 ; 106 } 107 } 108 #pragma omp ordered 109 { 110 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ 111 ; 112 } 113 #pragma omp ordered threads 114 { 115 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ 116 ; 117 } 118 #pragma omp ordered 119 { 120 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ 121 ; 122 } 123 #pragma omp ordered threads 124 { 125 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ 126 ; 127 } 128 #pragma omp critical 129 { 130 #pragma omp ordered simd /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */ 131 ; 132 } 133 #pragma omp for ordered 134 for (i = 0; i < 64; i++) 135 #pragma omp parallel 136 { 137 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 138 ; 139 } 140 #pragma omp for ordered 141 for (i = 0; i < 64; i++) 142 #pragma omp parallel 143 { 144 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ 145 ; 146 } 147 #pragma omp for ordered(1) 148 for (i = 0; i < 64; i++) 149 #pragma omp parallel 150 { 151 #pragma omp ordered depend(source) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */ 152 #pragma omp ordered depend(sink: i - 1) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */ 153 } 154 } 155