Skip to content

Commit 45b2ce3

Browse files
authored
[SYCL] Fix -Wstring-concatenation in integration headers (#15197)
A sentinel value added in #15175 fixed the problem of empty arrays, but for non-empty arrays was just concatenated to the last valid value. This produced warnings when compiling SYCL applications, and also meant that there is no sentinel value in the non-empty arrays.
1 parent 16ee2e8 commit 45b2ce3

7 files changed

+7
-11
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6188,11 +6188,7 @@ void SYCLIntegrationHeader::emit(raw_ostream &O) {
61886188
O << "const char* const kernel_names[] = {\n";
61896189

61906190
for (unsigned I = 0; I < KernelDescs.size(); I++) {
6191-
O << " \"" << KernelDescs[I].Name << "\"";
6192-
6193-
if (I < KernelDescs.size() - 1)
6194-
O << ",";
6195-
O << "\n";
6191+
O << " \"" << KernelDescs[I].Name << "\",\n";
61966192
}
61976193
// Add a sentinel to avoid warning if the collection is empty
61986194
// (similar to what we do for kernel_signatures below).

clang/test/CodeGenSYCL/int-header-empty-signatures.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
// CHECK: static constexpr
88
// CHECK-NEXT: const char* const kernel_names[] = {
9-
// CHECK-NEXT: "_ZTSZ4mainE1K"
9+
// CHECK-NEXT: "_ZTSZ4mainE1K",
1010
// CHECK-NEXT: ""
1111
// CHECK-NEXT: };
1212

clang/test/CodeGenSYCL/kernel-param-acc-array-ih.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
// CHECK: static constexpr
1616
// CHECK-NEXT: const char* const kernel_names[] = {
17-
// CHECK-NEXT: "_ZTSZ4mainE8kernel_A"
17+
// CHECK-NEXT: "_ZTSZ4mainE8kernel_A",
1818
// CHECK-NEXT: ""
1919
// CHECK-NEXT: };
2020

clang/test/CodeGenSYCL/kernel-param-member-acc-array-ih.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
// CHECK: static constexpr
1616
// CHECK-NEXT: const char* const kernel_names[] = {
17-
// CHECK-NEXT: "_ZTSZ4mainE8kernel_C"
17+
// CHECK-NEXT: "_ZTSZ4mainE8kernel_C",
1818
// CHECK-NEXT: ""
1919
// CHECK-NEXT: };
2020

clang/test/CodeGenSYCL/kernel-param-pod-array-ih.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// CHECK-NEXT: const char* const kernel_names[] = {
1616
// CHECK-NEXT: "_ZTSZ4mainE8kernel_B",
1717
// CHECK-NEXT: "_ZTSZ4mainE8kernel_C",
18-
// CHECK-NEXT: "_ZTSZ4mainE8kernel_D"
18+
// CHECK-NEXT: "_ZTSZ4mainE8kernel_D",
1919
// CHECK-NEXT: ""
2020
// CHECK-NEXT: };
2121

clang/test/CodeGenSYCL/union-kernel-param-ih.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
// CHECK: static constexpr
1616
// CHECK-NEXT: const char* const kernel_names[] = {
17-
// CHECK-NEXT: "_ZTSZ4mainE8kernel_A"
17+
// CHECK-NEXT: "_ZTSZ4mainE8kernel_A",
1818
// CHECK-NEXT: ""
1919
// CHECK-NEXT: };
2020

clang/test/CodeGenSYCL/wrapped-accessor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
// CHECK: static constexpr
1313
// CHECK-NEXT: const char* const kernel_names[] = {
14-
// CHECK-NEXT: "_ZTSZ4mainE14wrapped_access"
14+
// CHECK-NEXT: "_ZTSZ4mainE14wrapped_access",
1515
// CHECK-NEXT: ""
1616
// CHECK-NEXT: };
1717

0 commit comments

Comments
 (0)