summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Analysis/cfg-openmp.cpp340
-rw-r--r--clang/test/OpenMP/atomic_messages.c6
-rw-r--r--clang/test/OpenMP/critical_messages.cpp6
-rw-r--r--clang/test/OpenMP/distribute_parallel_for_messages.cpp7
-rw-r--r--clang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c7
-rw-r--r--clang/test/OpenMP/distribute_simd_misc_messages.c7
-rw-r--r--clang/test/OpenMP/for_misc_messages.c7
-rw-r--r--clang/test/OpenMP/for_simd_misc_messages.c7
-rw-r--r--clang/test/OpenMP/master_messages.cpp6
-rw-r--r--clang/test/OpenMP/ordered_messages.cpp9
-rw-r--r--clang/test/OpenMP/parallel_for_messages.cpp7
-rw-r--r--clang/test/OpenMP/parallel_for_simd_messages.cpp7
-rw-r--r--clang/test/OpenMP/parallel_messages.cpp6
-rw-r--r--clang/test/OpenMP/parallel_sections_messages.cpp8
-rw-r--r--clang/test/OpenMP/sections_misc_messages.c8
-rw-r--r--clang/test/OpenMP/simd_misc_messages.c7
-rw-r--r--clang/test/OpenMP/single_misc_messages.c6
-rw-r--r--clang/test/OpenMP/target_depend_messages.cpp6
-rw-r--r--clang/test/OpenMP/target_parallel_for_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_parallel_for_simd_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_parallel_messages.cpp8
-rw-r--r--clang/test/OpenMP/target_simd_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_teams_distribute_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_teams_distribute_simd_messages.cpp7
-rw-r--r--clang/test/OpenMP/target_teams_messages.cpp6
-rw-r--r--clang/test/OpenMP/target_update_messages.cpp6
-rw-r--r--clang/test/OpenMP/task_messages.cpp6
-rw-r--r--clang/test/OpenMP/taskgroup_messages.cpp6
-rw-r--r--clang/test/OpenMP/taskloop_misc_messages.c7
-rw-r--r--clang/test/OpenMP/taskloop_simd_misc_messages.c7
-rw-r--r--clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp8
-rw-r--r--clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp8
-rw-r--r--clang/test/OpenMP/teams_distribute_simd_messages.cpp8
-rw-r--r--clang/test/OpenMP/teams_messages.cpp7
36 files changed, 582 insertions, 1 deletions
diff --git a/clang/test/Analysis/cfg-openmp.cpp b/clang/test/Analysis/cfg-openmp.cpp
new file mode 100644
index 00000000000..2f734d14b02
--- /dev/null
+++ b/clang/test/Analysis/cfg-openmp.cpp
@@ -0,0 +1,340 @@
+// RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpCFG %s 2>&1 -fopenmp | FileCheck %s
+
+// CHECK-LABEL: void xxx(int argc)
+void xxx(int argc) {
+// CHECK: [B1]
+// CHECK-NEXT: 1: int x;
+ int x;
+// CHECK-NEXT: 2: x
+// CHECK-NEXT: 3: [B1.2] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 4: argc
+// CHECK-NEXT: 5: [B1.4] = [B1.3]
+// CHECK-NEXT: 6: #pragma omp atomic read
+// CHECK-NEXT: [B1.5];
+#pragma omp atomic read
+ argc = x;
+// CHECK-NEXT: 7: x
+// CHECK-NEXT: 8: [B1.7] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 9: argc
+// CHECK-NEXT: 10: [B1.9] = [B1.8]
+// CHECK-NEXT: 11: #pragma omp critical
+// CHECK-NEXT: [B1.10];
+#pragma omp critical
+ argc = x;
+// CHECK-NEXT: 12: x
+// CHECK-NEXT: 13: [B1.12] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 14: argc
+// CHECK-NEXT: 15: [B1.14] = [B1.13]
+// CHECK-NEXT: 16: #pragma omp distribute parallel for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.15];
+#pragma omp distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 17: x
+// CHECK-NEXT: 18: [B1.17] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 19: argc
+// CHECK-NEXT: 20: [B1.19] = [B1.18]
+// CHECK-NEXT: 21: #pragma omp distribute parallel for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.20];
+#pragma omp distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 22: x
+// CHECK-NEXT: 23: [B1.22] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 24: argc
+// CHECK-NEXT: 25: [B1.24] = [B1.23]
+// CHECK-NEXT: 26: #pragma omp distribute simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.25];
+#pragma omp distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 27: x
+// CHECK-NEXT: 28: [B1.27] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 29: argc
+// CHECK-NEXT: 30: [B1.29] = [B1.28]
+// CHECK-NEXT: 31: #pragma omp for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.30];
+#pragma omp for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 32: x
+// CHECK-NEXT: 33: [B1.32] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 34: argc
+// CHECK-NEXT: 35: [B1.34] = [B1.33]
+// CHECK-NEXT: 36: #pragma omp for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.35];
+#pragma omp for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 37: x
+// CHECK-NEXT: 38: [B1.37] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 39: argc
+// CHECK-NEXT: 40: [B1.39] = [B1.38]
+// CHECK-NEXT: 41: #pragma omp master
+// CHECK-NEXT: [B1.40];
+#pragma omp master
+ argc = x;
+// CHECK-NEXT: 42: x
+// CHECK-NEXT: 43: [B1.42] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 44: argc
+// CHECK-NEXT: 45: [B1.44] = [B1.43]
+// CHECK-NEXT: 46: #pragma omp ordered
+// CHECK-NEXT: [B1.45];
+// CHECK-NEXT: 47: #pragma omp for ordered
+// CHECK-NEXT: for (int i = 0; i < 10; ++i) {
+// CHECK-NEXT:[B1.46] }
+#pragma omp for ordered
+ for (int i = 0; i < 10; ++i) {
+#pragma omp ordered
+ argc = x;
+ }
+// CHECK-NEXT: 48: x
+// CHECK-NEXT: 49: [B1.48] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 50: argc
+// CHECK-NEXT: 51: [B1.50] = [B1.49]
+// CHECK-NEXT: 52: #pragma omp parallel for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.51];
+#pragma omp parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 53: x
+// CHECK-NEXT: 54: [B1.53] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 55: argc
+// CHECK-NEXT: 56: [B1.55] = [B1.54]
+// CHECK-NEXT: 57: #pragma omp parallel for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.56];
+#pragma omp parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 58: x
+// CHECK-NEXT: 59: [B1.58] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 60: argc
+// CHECK-NEXT: 61: [B1.60] = [B1.59]
+// CHECK-NEXT: 62: #pragma omp parallel
+// CHECK-NEXT: [B1.61];
+#pragma omp parallel
+ argc = x;
+// CHECK-NEXT: 63: x
+// CHECK-NEXT: 64: [B1.63] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 65: argc
+// CHECK-NEXT: 66: [B1.65] = [B1.64]
+// CHECK-NEXT: 67: #pragma omp parallel sections
+// CHECK-NEXT: {
+// CHECK-NEXT: [B1.66];
+// CHECK-NEXT: }
+#pragma omp parallel sections
+ {
+ argc = x;
+ }
+// CHECK-NEXT: 68: x
+// CHECK-NEXT: 69: [B1.68] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 70: argc
+// CHECK-NEXT: 71: [B1.70] = [B1.69]
+// CHECK-NEXT: 72: #pragma omp simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.71];
+#pragma omp simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 73: x
+// CHECK-NEXT: 74: [B1.73] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 75: argc
+// CHECK-NEXT: 76: [B1.75] = [B1.74]
+// CHECK-NEXT: 77: #pragma omp single
+// CHECK-NEXT: [B1.76];
+#pragma omp single
+ argc = x;
+// CHECK-NEXT: 78: x
+// CHECK-NEXT: 79: [B1.78] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 80: argc
+// CHECK-NEXT: 81: [B1.80] = [B1.79]
+// CHECK-NEXT: 82: #pragma omp target depend(in : argc)
+// CHECK-NEXT: [B1.81];
+#pragma omp target depend(in \
+ : argc)
+ argc = x;
+// CHECK-NEXT: 83: x
+// CHECK-NEXT: 84: [B1.83] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 85: argc
+// CHECK-NEXT: 86: [B1.85] = [B1.84]
+// CHECK-NEXT: 87: #pragma omp target parallel for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.86];
+#pragma omp target parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 88: x
+// CHECK-NEXT: 89: [B1.88] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 90: argc
+// CHECK-NEXT: 91: [B1.90] = [B1.89]
+// CHECK-NEXT: 92: #pragma omp target parallel for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.91];
+#pragma omp target parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 93: x
+// CHECK-NEXT: 94: [B1.93] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 95: argc
+// CHECK-NEXT: 96: [B1.95] = [B1.94]
+// CHECK-NEXT: 97: #pragma omp target parallel
+// CHECK-NEXT: [B1.96];
+#pragma omp target parallel
+ argc = x;
+// CHECK-NEXT: 98: x
+// CHECK-NEXT: 99: [B1.98] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 100: argc
+// CHECK-NEXT: 101: [B1.100] = [B1.99]
+// CHECK-NEXT: 102: #pragma omp target simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.101];
+#pragma omp target simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 103: x
+// CHECK-NEXT: 104: [B1.103] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 105: argc
+// CHECK-NEXT: 106: [B1.105] = [B1.104]
+// CHECK-NEXT: 107: #pragma omp target teams distribute
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.106];
+#pragma omp target teams distribute
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 108: x
+// CHECK-NEXT: 109: [B1.108] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 110: argc
+// CHECK-NEXT: 111: [B1.110] = [B1.109]
+// CHECK-NEXT: 112: #pragma omp target teams distribute parallel for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.111];
+#pragma omp target teams distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 113: x
+// CHECK-NEXT: 114: [B1.113] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 115: argc
+// CHECK-NEXT: 116: [B1.115] = [B1.114]
+// CHECK-NEXT: 117: #pragma omp target teams distribute parallel for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.116];
+#pragma omp target teams distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 118: x
+// CHECK-NEXT: 119: [B1.118] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 120: argc
+// CHECK-NEXT: 121: [B1.120] = [B1.119]
+// CHECK-NEXT: 122: #pragma omp target teams distribute simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.121];
+#pragma omp target teams distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 123: x
+// CHECK-NEXT: 124: [B1.123] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 125: argc
+// CHECK-NEXT: 126: [B1.125] = [B1.124]
+// CHECK-NEXT: 127: #pragma omp target teams
+// CHECK-NEXT: [B1.126];
+#pragma omp target teams
+ argc = x;
+// CHECK-NEXT: 128: #pragma omp target update to(x)
+#pragma omp target update to(x)
+// CHECK-NEXT: 129: x
+// CHECK-NEXT: 130: [B1.129] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 131: argc
+// CHECK-NEXT: 132: [B1.131] = [B1.130]
+ argc = x;
+// CHECK-NEXT: 133: x
+// CHECK-NEXT: 134: [B1.133] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 135: argc
+// CHECK-NEXT: 136: [B1.135] = [B1.134]
+// CHECK-NEXT: 137: #pragma omp task
+// CHECK-NEXT: [B1.136];
+#pragma omp task
+ argc = x;
+// CHECK-NEXT: 138: x
+// CHECK-NEXT: 139: [B1.138] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 140: argc
+// CHECK-NEXT: 141: [B1.140] = [B1.139]
+// CHECK-NEXT: 142: #pragma omp taskgroup
+// CHECK-NEXT: [B1.141];
+#pragma omp taskgroup
+ argc = x;
+// CHECK-NEXT: 143: x
+// CHECK-NEXT: 144: [B1.143] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 145: argc
+// CHECK-NEXT: 146: [B1.145] = [B1.144]
+// CHECK-NEXT: 147: #pragma omp taskloop
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.146];
+#pragma omp taskloop
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 148: x
+// CHECK-NEXT: 149: [B1.148] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 150: argc
+// CHECK-NEXT: 151: [B1.150] = [B1.149]
+// CHECK-NEXT: 152: #pragma omp taskloop simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.151];
+#pragma omp taskloop simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT: 153: x
+// CHECK-NEXT: 154: [B1.153] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 155: argc
+// CHECK-NEXT: 156: [B1.155] = [B1.154]
+// CHECK-NEXT: 157: #pragma omp teams distribute parallel for
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.156];
+// CHECK-NEXT: 158: #pragma omp target
+#pragma omp target
+#pragma omp teams distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT:[B1.157] 159: x
+// CHECK-NEXT: 160: [B1.159] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 161: argc
+// CHECK-NEXT: 162: [B1.161] = [B1.160]
+// CHECK-NEXT: 163: #pragma omp teams distribute parallel for simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.162];
+// CHECK-NEXT: 164: #pragma omp target
+#pragma omp target
+#pragma omp teams distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT:[B1.163] 165: x
+// CHECK-NEXT: 166: [B1.165] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 167: argc
+// CHECK-NEXT: 168: [B1.167] = [B1.166]
+// CHECK-NEXT: 169: #pragma omp teams distribute simd
+// CHECK-NEXT: for (int i = 0; i < 10; ++i)
+// CHECK-NEXT: [B1.168];
+// CHECK-NEXT: 170: #pragma omp target
+#pragma omp target
+#pragma omp teams distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x;
+// CHECK-NEXT:[B1.169] 171: x
+// CHECK-NEXT: 172: [B1.171] (ImplicitCastExpr, LValueToRValue, int)
+// CHECK-NEXT: 173: argc
+// CHECK-NEXT: 174: [B1.173] = [B1.172]
+// CHECK-NEXT: 175: #pragma omp teams
+// CHECK-NEXT: [B1.174];
+// CHECK-NEXT: 176: #pragma omp target
+#pragma omp target
+#pragma omp teams
+ argc = x;
+// CHECK-NEXT:[B1.175] Preds
+}
+
diff --git a/clang/test/OpenMP/atomic_messages.c b/clang/test/OpenMP/atomic_messages.c
index bace18aba9e..abc703d578d 100644
--- a/clang/test/OpenMP/atomic_messages.c
+++ b/clang/test/OpenMP/atomic_messages.c
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp atomic read
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
int foo() {
L1:
foo();
diff --git a/clang/test/OpenMP/critical_messages.cpp b/clang/test/OpenMP/critical_messages.cpp
index 1eec70e2833..54349e33963 100644
--- a/clang/test/OpenMP/critical_messages.cpp
+++ b/clang/test/OpenMP/critical_messages.cpp
@@ -4,6 +4,12 @@
int foo();
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp critical
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
template<typename T, int N>
int tmain(int argc, char **argv) { // expected-note {{declared here}}
#pragma omp critical
diff --git a/clang/test/OpenMP/distribute_parallel_for_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_messages.cpp
index 248d09b8cc6..b2e6e4c64df 100644
--- a/clang/test/OpenMP/distribute_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/distribute_parallel_for_messages.cpp
@@ -5,6 +5,13 @@
void foo() {
}
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
#pragma omp distribute parallel for // expected-error {{unexpected OpenMP directive '#pragma omp distribute parallel for'}}
int main(int argc, char **argv) {
diff --git a/clang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c b/clang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
index e4cefcbf721..1721da876dc 100644
--- a/clang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
+++ b/clang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp distribute parallel for simd'}}
#pragma omp distribute parallel for simd
diff --git a/clang/test/OpenMP/distribute_simd_misc_messages.c b/clang/test/OpenMP/distribute_simd_misc_messages.c
index 5286e5f8d6d..37dcf8ba7b0 100644
--- a/clang/test/OpenMP/distribute_simd_misc_messages.c
+++ b/clang/test/OpenMP/distribute_simd_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp distribute simd'}}
#pragma omp distribute simd
diff --git a/clang/test/OpenMP/for_misc_messages.c b/clang/test/OpenMP/for_misc_messages.c
index e36a1c6db01..324c70bee31 100644
--- a/clang/test/OpenMP/for_misc_messages.c
+++ b/clang/test/OpenMP/for_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -triple x86_64-unknown-unknown -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp for
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp for'}}
#pragma omp for
diff --git a/clang/test/OpenMP/for_simd_misc_messages.c b/clang/test/OpenMP/for_simd_misc_messages.c
index bdce97431c0..f7c864d135e 100644
--- a/clang/test/OpenMP/for_simd_misc_messages.c
+++ b/clang/test/OpenMP/for_simd_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp for simd'}}
#pragma omp for simd
diff --git a/clang/test/OpenMP/master_messages.cpp b/clang/test/OpenMP/master_messages.cpp
index 07c863f9099..ce403f0cb05 100644
--- a/clang/test/OpenMP/master_messages.cpp
+++ b/clang/test/OpenMP/master_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp master
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
int foo();
int main() {
diff --git a/clang/test/OpenMP/ordered_messages.cpp b/clang/test/OpenMP/ordered_messages.cpp
index 6404ec8bf91..3fb69dbb60a 100644
--- a/clang/test/OpenMP/ordered_messages.cpp
+++ b/clang/test/OpenMP/ordered_messages.cpp
@@ -6,6 +6,15 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++98 -o - %s -Wuninitialized
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp for ordered
+ for (int i = 0; i < 10; ++i) {
+#pragma omp ordered
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+ }
+}
+
int foo();
template <class T>
diff --git a/clang/test/OpenMP/parallel_for_messages.cpp b/clang/test/OpenMP/parallel_for_messages.cpp
index b53f6fa3196..d131b47d983 100644
--- a/clang/test/OpenMP/parallel_for_messages.cpp
+++ b/clang/test/OpenMP/parallel_for_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp parallel for
+ for(int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/parallel_for_simd_messages.cpp b/clang/test/OpenMP/parallel_for_simd_messages.cpp
index e0e77841319..8237406a1c0 100644
--- a/clang/test/OpenMP/parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/parallel_for_simd_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/parallel_messages.cpp b/clang/test/OpenMP/parallel_messages.cpp
index 6012487562e..ac8869fff9d 100644
--- a/clang/test/OpenMP/parallel_messages.cpp
+++ b/clang/test/OpenMP/parallel_messages.cpp
@@ -5,6 +5,12 @@
void foo() {
}
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp parallel
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
#pragma omp parallel // expected-error {{unexpected OpenMP directive '#pragma omp parallel'}}
int a;
diff --git a/clang/test/OpenMP/parallel_sections_messages.cpp b/clang/test/OpenMP/parallel_sections_messages.cpp
index ab4c34a6b2c..06182802d7a 100644
--- a/clang/test/OpenMP/parallel_sections_messages.cpp
+++ b/clang/test/OpenMP/parallel_sections_messages.cpp
@@ -2,6 +2,14 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp parallel sections
+{
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/sections_misc_messages.c b/clang/test/OpenMP/sections_misc_messages.c
index 8d8dab86a3c..fd775400b42 100644
--- a/clang/test/OpenMP/sections_misc_messages.c
+++ b/clang/test/OpenMP/sections_misc_messages.c
@@ -2,6 +2,14 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp sections
+{
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+}
+
void foo();
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp sections'}}
diff --git a/clang/test/OpenMP/simd_misc_messages.c b/clang/test/OpenMP/simd_misc_messages.c
index 1fbb6fa263c..88df2535103 100644
--- a/clang/test/OpenMP/simd_misc_messages.c
+++ b/clang/test/OpenMP/simd_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp simd'}}
#pragma omp simd
diff --git a/clang/test/OpenMP/single_misc_messages.c b/clang/test/OpenMP/single_misc_messages.c
index 0d4ab5a77b5..96f40c69f50 100644
--- a/clang/test/OpenMP/single_misc_messages.c
+++ b/clang/test/OpenMP/single_misc_messages.c
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp single
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo();
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp single'}}
diff --git a/clang/test/OpenMP/target_depend_messages.cpp b/clang/test/OpenMP/target_depend_messages.cpp
index a7ac1760e6b..a18bc5d5edc 100644
--- a/clang/test/OpenMP/target_depend_messages.cpp
+++ b/clang/test/OpenMP/target_depend_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -o - -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target depend(in : argc)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_parallel_for_messages.cpp b/clang/test/OpenMP/target_parallel_for_messages.cpp
index e78154a5b3d..8fa8ed6ad88 100644
--- a/clang/test/OpenMP/target_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/target_parallel_for_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_parallel_for_simd_messages.cpp b/clang/test/OpenMP/target_parallel_for_simd_messages.cpp
index 5d07c895b9e..ff98e2cbdd3 100644
--- a/clang/test/OpenMP/target_parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/target_parallel_for_simd_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_parallel_messages.cpp b/clang/test/OpenMP/target_parallel_messages.cpp
index f664ec12109..25e63bb72b5 100644
--- a/clang/test/OpenMP/target_parallel_messages.cpp
+++ b/clang/test/OpenMP/target_parallel_messages.cpp
@@ -1,9 +1,15 @@
// RUN: %clang_cc1 -verify -fopenmp -std=c++11 -o - %s -Wuninitialized
// RUN: not %clang_cc1 -fopenmp -std=c++11 -fopenmp-targets=aaa-bbb-ccc-ddd -o - %s 2>&1 | FileCheck %s
-// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 -o - %s
+// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 -o - %s -Wuninitialized
// CHECK: error: OpenMP target is invalid: 'aaa-bbb-ccc-ddd'
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target parallel
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_simd_messages.cpp b/clang/test/OpenMP/target_simd_messages.cpp
index 37f5fae9502..ea53482517a 100644
--- a/clang/test/OpenMP/target_simd_messages.cpp
+++ b/clang/test/OpenMP/target_simd_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_teams_distribute_messages.cpp b/clang/test/OpenMP/target_teams_distribute_messages.cpp
index a685acf7f3e..7b6b36ec826 100644
--- a/clang/test/OpenMP/target_teams_distribute_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target teams distribute
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
index a9a7ca1617d..b70f87a39b4 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target teams distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
index f6050925d64..3de30c3f638 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target teams distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_teams_distribute_simd_messages.cpp b/clang/test/OpenMP/target_teams_distribute_simd_messages.cpp
index 77e85f1c137..cd3d38a2d48 100644
--- a/clang/test/OpenMP/target_teams_distribute_simd_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_simd_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target teams distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_teams_messages.cpp b/clang/test/OpenMP/target_teams_messages.cpp
index 406b9841f50..c690d9de82c 100644
--- a/clang/test/OpenMP/target_teams_messages.cpp
+++ b/clang/test/OpenMP/target_teams_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target teams
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/target_update_messages.cpp b/clang/test/OpenMP/target_update_messages.cpp
index 0adb87584e1..581fdd8e0a9 100644
--- a/clang/test/OpenMP/target_update_messages.cpp
+++ b/clang/test/OpenMP/target_update_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target update to(x)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/task_messages.cpp b/clang/test/OpenMP/task_messages.cpp
index e52b2fae5c7..062125f5f6e 100644
--- a/clang/test/OpenMP/task_messages.cpp
+++ b/clang/test/OpenMP/task_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp task
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/taskgroup_messages.cpp b/clang/test/OpenMP/taskgroup_messages.cpp
index f7503ff3c14..6bac1614b6a 100644
--- a/clang/test/OpenMP/taskgroup_messages.cpp
+++ b/clang/test/OpenMP/taskgroup_messages.cpp
@@ -2,6 +2,12 @@
// RUN: %clang_cc1 -verify -fopenmp-simd %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp taskgroup
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
int foo();
int main() {
diff --git a/clang/test/OpenMP/taskloop_misc_messages.c b/clang/test/OpenMP/taskloop_misc_messages.c
index 6ab4696fc73..79541941620 100644
--- a/clang/test/OpenMP/taskloop_misc_messages.c
+++ b/clang/test/OpenMP/taskloop_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -triple x86_64-unknown-unknown -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp taskloop
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp taskloop'}}
#pragma omp taskloop
diff --git a/clang/test/OpenMP/taskloop_simd_misc_messages.c b/clang/test/OpenMP/taskloop_simd_misc_messages.c
index 2b6bbe9f378..1f2087f2d89 100644
--- a/clang/test/OpenMP/taskloop_simd_misc_messages.c
+++ b/clang/test/OpenMP/taskloop_simd_misc_messages.c
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -triple x86_64-unknown-unknown -verify %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp taskloop simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp taskloop simd'}}
#pragma omp taskloop simd
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
index 906c3304286..ff4fa0767b8 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
@@ -2,6 +2,14 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target
+#pragma omp teams distribute parallel for
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
index c07cef18610..e01b3f118b3 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
@@ -2,6 +2,14 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target
+#pragma omp teams distribute parallel for simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/teams_distribute_simd_messages.cpp b/clang/test/OpenMP/teams_distribute_simd_messages.cpp
index faaf16a23da..3ec2c874a47 100644
--- a/clang/test/OpenMP/teams_distribute_simd_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_simd_messages.cpp
@@ -2,6 +2,14 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target
+#pragma omp teams distribute simd
+ for (int i = 0; i < 10; ++i)
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
diff --git a/clang/test/OpenMP/teams_messages.cpp b/clang/test/OpenMP/teams_messages.cpp
index b01c428118c..8196140be76 100644
--- a/clang/test/OpenMP/teams_messages.cpp
+++ b/clang/test/OpenMP/teams_messages.cpp
@@ -2,6 +2,13 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -std=c++11 -o - %s -Wuninitialized
+void xxx(int argc) {
+ int x; // expected-note {{initialize the variable 'x' to silence this warning}}
+#pragma omp target
+#pragma omp teams
+ argc = x; // expected-warning {{variable 'x' is uninitialized when used here}}
+}
+
void foo() {
}
OpenPOWER on IntegriCloud