@@ -4296,8 +4296,9 @@ pi_result piProgramBuild(pi_program Program, pi_uint32 NumDevices,
4296
4296
ze_device_handle_t ZeDevice = DeviceList[0 ]->ZeDevice ;
4297
4297
ze_context_handle_t ZeContext = Program->Context ->ZeContext ;
4298
4298
ze_module_handle_t ZeModule = nullptr ;
4299
- ze_result_t ZeResult = ZE_CALL (zeModuleCreate, (ZeContext, ZeDevice, &ZeModuleDesc, &ZeModule,
4300
- &Program->ZeBuildLog ));
4299
+ ze_result_t ZeResult =
4300
+ ZE_CALL_NOCHECK (zeModuleCreate, (ZeContext, ZeDevice, &ZeModuleDesc,
4301
+ &ZeModule, &Program->ZeBuildLog ));
4301
4302
if (ZeResult != ZE_RESULT_SUCCESS) {
4302
4303
// We need to clear Program state to avoid double destroy of zeModule in
4303
4304
// case where SYCL RT calls piProgramRelease().
@@ -4311,7 +4312,7 @@ pi_result piProgramBuild(pi_program Program, pi_uint32 NumDevices,
4311
4312
// call to zeModuleDynamicLink. However, modules created with piProgramBuild
4312
4313
// are supposed to be fully linked and ready to use. Therefore, do an extra
4313
4314
// check now for unresolved symbols.
4314
- ze_result_t ZeResult = checkUnresolvedSymbols (ZeModule, &Program->ZeBuildLog );
4315
+ ZeResult = checkUnresolvedSymbols (ZeModule, &Program->ZeBuildLog );
4315
4316
if (ZeResult != ZE_RESULT_SUCCESS) {
4316
4317
// remove ZeModule that is associated with the failed program
4317
4318
ZE_CALL (zeModuleDestroy, (ZeModule));
0 commit comments