From ad21f0606e7e4ece8e645324b87a92a7d7b35e63 Mon Sep 17 00:00:00 2001 From: "Shi, Aaron (en ye) (xN/A) TO" Date: Tue, 19 Apr 2016 15:31:52 -0500 Subject: [PATCH] HSA Finalizer: Promote SC PRM -> Finalizer (HSA tree) up to CL 1258514 [git-p4: depot-paths = "//depot/stg/hsa/drivers/hsa/runtime/": change = 1259784] --- .../hsa-runtime/libamdhsacode/amd_options.hpp | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/runtime/hsa-runtime/libamdhsacode/amd_options.hpp b/runtime/hsa-runtime/libamdhsacode/amd_options.hpp index ffeb61fadc..c7255abd1b 100644 --- a/runtime/hsa-runtime/libamdhsacode/amd_options.hpp +++ b/runtime/hsa-runtime/libamdhsacode/amd_options.hpp @@ -372,14 +372,24 @@ private: bool ProcessTokens(std::list &tokens) { assert(0 == name_.compare(tokens.front()) && "option name is mismatched"); - if (1 != tokens.size()) { - error() << "error: invalid option: \'" << name_ << '\'' << std::endl; - return false; + if (1 == tokens.size()) { + tokens.pop_front(); + is_set_ = true; + return true; + } else if (2 == tokens.size()) { + tokens.pop_front(); + if (tokens.front() == "1") { + is_set_ = true; + tokens.pop_front(); + return true; + } else if (tokens.front() == "0") { + is_set_ = false; + tokens.pop_front(); + return true; + } } - - is_set_ = true; - tokens.pop_front(); - return true; + error() << "error: invalid option: '" << name_ << "'" << std::endl; + return false; } };