From 71a25ff2969c60dd5d110df2a54605fb03efbed8 Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 23 Jul 2014 13:54:37 -0400
Subject: [PATCH] P4 to Git Change 1058395 by emankov@em-hsa-amd on 2014/07/23
13:32:42
ECR #333753 - Compiler Lib: Resubmitting double checked changes from CL 1056755 & 1056683
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#43 edit
[ROCm/clr commit: 3eca90a7db2d54f464c76c12dd78ec67573bf58a]
---
.../lib/backends/common/v0_8/if_acl.cpp | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/projects/clr/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp b/projects/clr/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp
index 289c619018..c1715f4077 100644
--- a/projects/clr/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp
+++ b/projects/clr/rocclr/compiler/lib/backends/common/v0_8/if_acl.cpp
@@ -1277,21 +1277,26 @@ internal_compile_failure:
#define CONDITIONAL_CMP_ASSIGN(A, B, C) A = (A && B != A) ? (A) : (C)
acl_error
-IsValidCompilationOptions(aclBinary *bin)
+IsValidCompilationOptions(aclBinary *bin, aclLogFunction compile_callback)
{
+ acl_error error_code = ACL_SUCCESS;
#if defined(WITH_TARGET_HSAIL) && defined(WITH_TARGET_AMDIL)
amd::option::Options* opts = reinterpret_cast(bin->options);
std::string major = std::string(opts->oVariables->CLStd).substr(2,1);
+ std::string error_msg;
if (isHSAILTarget(bin->target) && major == "1") {
- std::cout << "Error: HSAIL doesn't support OpenCL version < 2.0" << std::endl;
- return ACL_INVALID_OPTION;
+ error_msg = "Error: HSAIL doesn't support OpenCL version < 2.0.";
+ error_code = ACL_INVALID_OPTION;
}
if (isAMDILTarget(bin->target) && major == "2") {
- std::cout << "Error: AMDIL doesn't support OpenCL version >= 2.0" << std::endl;
- return ACL_INVALID_OPTION;
+ error_msg = "Error: AMDIL doesn't support OpenCL version >= 2.0.";
+ error_code = ACL_INVALID_OPTION;
+ }
+ if (ACL_SUCCESS != error_code && compile_callback) {
+ compile_callback(error_msg.c_str(), error_msg.size());
}
#endif
- return ACL_SUCCESS;
+ return error_code;
}
acl_error ACL_API_ENTRY
@@ -1305,7 +1310,7 @@ if_aclCompile(aclCompiler *cl,
if (bin == NULL || cl == NULL) {
return ACL_INVALID_ARG;
}
- acl_error error_code = IsValidCompilationOptions(bin);
+ acl_error error_code = IsValidCompilationOptions(bin, compile_callback);
if (error_code != ACL_SUCCESS) {
return error_code;
}