[PATCH] D71884: [OpenMP] Fix formatting of OpenMP error message.
This revision was automatically updated to reflect the committed changes. Closed by commit rG87a004d0f8c2: [OpenMP] Fix formatting of OpenMP error message, by Wang Tianqing. (authored by ABataev). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71884/new/ https://reviews.llvm.org/D71884 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/for_lastprivate_messages.cpp clang/test/OpenMP/for_simd_lastprivate_messages.cpp clang/test/OpenMP/parallel_for_lastprivate_messages.cpp clang/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp clang/test/OpenMP/parallel_sections_lastprivate_messages.cpp clang/test/OpenMP/sections_lastprivate_messages.cpp clang/test/OpenMP/simd_lastprivate_messages.cpp clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp clang/test/OpenMP/target_simd_lastprivate_messages.cpp Index: clang/test/OpenMP/target_simd_lastprivate_messages.cpp === --- clang/test/OpenMP/target_simd_lastprivate_messages.cpp +++ clang/test/OpenMP/target_simd_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target simd lastprivate(conditional: s,argc) lastprivate(conditional: // omp45-error 2 {{use of undeclared identifier 'conditional'}} omp50-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target simd lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target simd lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp === --- clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp +++ clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target parallel for simd lastprivate(conditional: argc,s) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2 {{use of undeclared identifier 'conditional'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-error 2 {{calling a private constructor of class 'S6'}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target parallel for simd lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target parallel for simd lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp === --- clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp +++ clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target parallel for lastprivate(conditional: s,argc) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2 {{use of undeclared identifier 'conditional'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target parallel for lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target parallel for lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/simd_lastprivate_messages.cpp === --- clang/test/OpenMP/simd_lastprivate_messages.cpp +++ clang/test/OpenMP/simd_lastprivate_messages.cpp @@ -96,6 +96,9 @@ #pragma omp simd lastprivate(conditional: argc,g) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2 {{use of undeclared identifier 'conditional'}} expected-error {{expected ')'}} expected-note
[PATCH] D71884: [OpenMP] Fix formatting of OpenMP error message.
tianqing added a comment. Could someone help commit this patch? Thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71884/new/ https://reviews.llvm.org/D71884 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D71884: [OpenMP] Fix formatting of OpenMP error message.
jdoerfert accepted this revision. jdoerfert added a comment. This revision is now accepted and ready to land. I would have just stripped the last chars of ` Out.str()` but if this passes all the tests I'm fine with it. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71884/new/ https://reviews.llvm.org/D71884 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D71884: [OpenMP] Fix formatting of OpenMP error message.
tianqing created this revision. Herald added subscribers: cfe-commits, guansong. Herald added a reviewer: jdoerfert. Herald added a project: clang. tianqing added a reviewer: ABataev. `getListOfPossibleValues()` formatted incorrectly when there is only one value, emitting something like `expected 'conditional' or in OpenMP clause 'lastprivate'`. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D71884 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/for_lastprivate_messages.cpp clang/test/OpenMP/for_simd_lastprivate_messages.cpp clang/test/OpenMP/parallel_for_lastprivate_messages.cpp clang/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp clang/test/OpenMP/parallel_sections_lastprivate_messages.cpp clang/test/OpenMP/sections_lastprivate_messages.cpp clang/test/OpenMP/simd_lastprivate_messages.cpp clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp clang/test/OpenMP/target_simd_lastprivate_messages.cpp Index: clang/test/OpenMP/target_simd_lastprivate_messages.cpp === --- clang/test/OpenMP/target_simd_lastprivate_messages.cpp +++ clang/test/OpenMP/target_simd_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target simd lastprivate(conditional: s,argc) lastprivate(conditional: // omp45-error 2 {{use of undeclared identifier 'conditional'}} omp50-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target simd lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target simd lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp === --- clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp +++ clang/test/OpenMP/target_parallel_for_simd_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target parallel for simd lastprivate(conditional: argc,s) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2 {{use of undeclared identifier 'conditional'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp45-error 2 {{calling a private constructor of class 'S6'}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target parallel for simd lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target parallel for simd lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp === --- clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp +++ clang/test/OpenMP/target_parallel_for_lastprivate_messages.cpp @@ -107,6 +107,9 @@ #pragma omp target parallel for lastprivate(conditional: s,argc) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2 {{use of undeclared identifier 'conditional'}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp50-error {{expected list item of scalar type in 'lastprivate' clause with 'conditional' modifier}} for (int k = 0; k < argc; ++k) ++k; +#pragma omp target parallel for lastprivate(foo:argc) // omp50-error {{expected 'conditional' in OpenMP clause 'lastprivate'}} omp45-error {{expected ',' or ')' in 'lastprivate' clause}} omp45-error {{expected ')'}} omp45-error {{expected variable name}} omp45-note {{to match this '('}} + for (int k = 0; k < argc; ++k) +++k; #pragma omp target parallel for lastprivate(S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; Index: clang/test/OpenMP/simd_lastprivate_messages.cpp === --- clang/test/OpenMP/simd_lastprivate_messages.cpp +++ clang/test/OpenMP/simd_lastprivate_messages.cpp @@ -96,6 +96,9 @@ #pragma omp simd lastprivate(conditional: argc,g) lastprivate(conditional: // omp50-error {{expected expression}} omp45-error 2