@@ -294,8 +294,8 @@ class FileNullabilityMap {
294
294
// - SYCL kernel parameters and offsets of corresponding actual arguments
295
295
class SYCLIntegrationHeader {
296
296
public:
297
- // Kind of kernel's lambda parameters as captured by the compiler in the
298
- // kernel lambda object
297
+ // Kind of kernel's parameters as captured by the compiler in the
298
+ // kernel lambda or function object
299
299
enum kernel_param_kind_t {
300
300
kind_first,
301
301
kind_none = kind_first,
@@ -319,7 +319,7 @@ class SYCLIntegrationHeader {
319
319
320
320
// / Signals that subsequent parameter descriptor additions will go to
321
321
// / the kernel with given name. Starts new kernel invocation descriptor.
322
- void startKernel (StringRef KernelName);
322
+ void startKernel (StringRef KernelName, QualType KernelNameType );
323
323
324
324
// / Adds a kernel parameter descriptor to current kernel invocation
325
325
// / descriptor.
@@ -333,15 +333,15 @@ class SYCLIntegrationHeader {
333
333
// Kernel actual parameter descriptor.
334
334
struct KernelParamDesc {
335
335
// Represents a parameter kind.
336
- kernel_param_kind_t Kind;
336
+ kernel_param_kind_t Kind = kind_none ;
337
337
// If Kind is kind_scalar or kind_struct, then
338
338
// denotes parameter size in bytes (includes padding for structs)
339
339
// If Kind is kind_accessor
340
340
// denotes access target; possible access targets are defined in
341
341
// access/access.hpp
342
- int Info;
342
+ int Info = 0 ;
343
343
// Offset of the captured parameter value in the lambda or function object.
344
- unsigned Offset;
344
+ unsigned Offset = 0 ;
345
345
346
346
KernelParamDesc () = default ;
347
347
};
@@ -350,6 +350,10 @@ class SYCLIntegrationHeader {
350
350
struct KernelDesc {
351
351
// / Kernel name.
352
352
std::string Name;
353
+
354
+ // / Kernel name type.
355
+ QualType NameType;
356
+
353
357
// / Descriptor of kernel actual parameters.
354
358
SmallVector<KernelParamDesc, 8 > Params;
355
359
0 commit comments