diff --git a/hipify-clang/src/ArgParse.cpp b/hipify-clang/src/ArgParse.cpp index d63a328b5b..e81ada1ddc 100644 --- a/hipify-clang/src/ArgParse.cpp +++ b/hipify-clang/src/ArgParse.cpp @@ -85,7 +85,7 @@ cl::opt Examine("examine", cl::cat(ToolTemplateCategory)); cl::opt DashDash("-", - cl::desc("Separator between hipify-clang and clang options;\ndon't specify if there are no clang options."), + cl::desc("Separator between hipify-clang and clang options;\ndon't specify if there are no clang options"), cl::value_desc("--"), cl::cat(ToolTemplateCategory)); @@ -96,4 +96,11 @@ cl::list I("I", cl::Prefix, cl::cat(ToolTemplateCategory)); +cl::list D("D", + cl::desc("Define to or 1 if omitted"), + cl::value_desc("macro>= OutputDir; extern cl::opt TemporaryDir; extern cl::opt CudaPath; extern cl::list I; +extern cl::list D; extern cl::opt Inplace; extern cl::opt SaveTemps; extern cl::opt NoBackup; diff --git a/hipify-clang/src/main.cpp b/hipify-clang/src/main.cpp index e219f73023..db6c803c27 100644 --- a/hipify-clang/src/main.cpp +++ b/hipify-clang/src/main.cpp @@ -199,6 +199,12 @@ int main(int argc, const char **argv) { #if defined(HIPIFY_CLANG_RES) Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-resource-dir=" HIPIFY_CLANG_RES)); #endif + if (!D.empty()) { + for (std::string s : D) { + Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-D", ct::ArgumentInsertPosition::END)); + Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster(s.c_str(), ct::ArgumentInsertPosition::END)); + } + } if (!I.empty()) { for (std::string s : I) { Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-I", ct::ArgumentInsertPosition::END));