Fixed generators to better account for the lack of return value of clSVMFree. (#139)
* Fixed generators to better account for the lack of return value of clSVMFree.
* Added generated file.
diff --git a/loader/icd_dispatch_generated.c b/loader/icd_dispatch_generated.c
index deced70..17f9f46 100644
--- a/loader/icd_dispatch_generated.c
+++ b/loader/icd_dispatch_generated.c
@@ -4246,9 +4246,12 @@
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
- return khrFirstLayer->dispatch.clSVMFree(
+ {
+ khrFirstLayer->dispatch.clSVMFree(
context,
svm_pointer);
+ return;
+ }
#endif // defined(CL_ENABLE_LAYERS)
if (context == NULL) return;
context->dispatch->clSVMFree(
diff --git a/scripts/icd_dispatch_generated.c.mako b/scripts/icd_dispatch_generated.c.mako
index a05802b..6260ce3 100644
--- a/scripts/icd_dispatch_generated.c.mako
+++ b/scripts/icd_dispatch_generated.c.mako
@@ -78,7 +78,12 @@
%if disp == 0:
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
+% if api.Name == "clSVMFree":
+ {
+ khrFirstLayer->dispatch.${api.Name}(
+% else:
return khrFirstLayer->dispatch.${api.Name}(
+% endif
%for i, param in enumerate(api.Params):
% if i < len(api.Params)-1:
${param.Name},
@@ -86,6 +91,10 @@
${param.Name});
% endif
%endfor
+% if api.Name == "clSVMFree":
+ return;
+ }
+% endif
#endif // defined(CL_ENABLE_LAYERS)
%endif
%if api.RetType in apihandles or api.RetType == "void*":
diff --git a/scripts/icd_print_layer_generated.c.mako b/scripts/icd_print_layer_generated.c.mako
index f5260d5..4cfd784 100644
--- a/scripts/icd_print_layer_generated.c.mako
+++ b/scripts/icd_print_layer_generated.c.mako
@@ -32,7 +32,11 @@
%endfor
{
printf("${api.Name}\n");
+% if api.Name == "clSVMFree":
+tdispatch->${api.Name}(
+% else:
return tdispatch->${api.Name}(
+% endif
%for i, param in enumerate(api.Params):
% if i < len(api.Params)-1:
${param.Name},
diff --git a/test/layer/icd_print_layer_generated.c b/test/layer/icd_print_layer_generated.c
index 2cbb3ee..8633e0b 100644
--- a/test/layer/icd_print_layer_generated.c
+++ b/test/layer/icd_print_layer_generated.c
@@ -1604,7 +1604,7 @@
void* svm_pointer) CL_API_SUFFIX__VERSION_2_0
{
printf("clSVMFree\n");
-return tdispatch->clSVMFree(
+tdispatch->clSVMFree(
context,
svm_pointer);
}