diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index 996aca877350c..8a792c93ccf40 100644 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -7056,7 +7056,11 @@ void SYCLIntegrationHeader::emit(raw_ostream &O) { for (unsigned I = 0; I < KernelDescs.size(); I++) { O << KernelDescs[I].Params.size() << ", "; } + // Add a sentinel to avoid warning if the collection is empty + // (similar to what we do for kernel_signatures below). + O << "0, \n"; O << "};\n\n"; + O << "// array representing signatures of all kernels defined in the\n"; O << "// corresponding source\n"; O << "static constexpr\n"; diff --git a/clang/test/CodeGenSYCL/int-header-empty-signatures.cpp b/clang/test/CodeGenSYCL/int-header-empty-signatures.cpp index d1b54648f2645..c7d5c4f00932e 100644 --- a/clang/test/CodeGenSYCL/int-header-empty-signatures.cpp +++ b/clang/test/CodeGenSYCL/int-header-empty-signatures.cpp @@ -10,7 +10,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {0, 0 // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/integration_header.cpp b/clang/test/CodeGenSYCL/integration_header.cpp index df700e1b66c02..e25242484fded 100644 --- a/clang/test/CodeGenSYCL/integration_header.cpp +++ b/clang/test/CodeGenSYCL/integration_header.cpp @@ -25,7 +25,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; // -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {5, 3, 2, 8, 3, 0, 0, // // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/kernel-param-acc-array-ih.cpp b/clang/test/CodeGenSYCL/kernel-param-acc-array-ih.cpp index c5948f48519f1..d16db098e2c81 100644 --- a/clang/test/CodeGenSYCL/kernel-param-acc-array-ih.cpp +++ b/clang/test/CodeGenSYCL/kernel-param-acc-array-ih.cpp @@ -18,7 +18,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {2, 0, // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/kernel-param-member-acc-array-ih.cpp b/clang/test/CodeGenSYCL/kernel-param-member-acc-array-ih.cpp index a7a115f394be8..3000dbd643ed8 100644 --- a/clang/test/CodeGenSYCL/kernel-param-member-acc-array-ih.cpp +++ b/clang/test/CodeGenSYCL/kernel-param-member-acc-array-ih.cpp @@ -18,7 +18,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {2, 0, // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/kernel-param-pod-array-ih.cpp b/clang/test/CodeGenSYCL/kernel-param-pod-array-ih.cpp index 1c55478122b2c..dcfff6dea330e 100644 --- a/clang/test/CodeGenSYCL/kernel-param-pod-array-ih.cpp +++ b/clang/test/CodeGenSYCL/kernel-param-pod-array-ih.cpp @@ -19,7 +19,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {1, 1, 1, 0, // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/union-kernel-param-ih.cpp b/clang/test/CodeGenSYCL/union-kernel-param-ih.cpp index ab9359a95ce6f..77f8ceaef8359 100644 --- a/clang/test/CodeGenSYCL/union-kernel-param-ih.cpp +++ b/clang/test/CodeGenSYCL/union-kernel-param-ih.cpp @@ -18,7 +18,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {1, 0, // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = { diff --git a/clang/test/CodeGenSYCL/wrapped-accessor.cpp b/clang/test/CodeGenSYCL/wrapped-accessor.cpp index a45d285ba4ce5..612e812bc93a1 100644 --- a/clang/test/CodeGenSYCL/wrapped-accessor.cpp +++ b/clang/test/CodeGenSYCL/wrapped-accessor.cpp @@ -15,7 +15,7 @@ // CHECK-NEXT: "" // CHECK-NEXT: }; -// CHECK: static constexpr unsigned kernel_args_sizes[] = { +// CHECK: static constexpr unsigned kernel_args_sizes[] = {1, 0, // CHECK: static constexpr // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = {