From 93aeb04cec1c6f3ae7be0c46ca74e1a57bdfae89 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Mon, 14 Jan 2019 18:23:54 +0300 Subject: [PATCH] [HIPIFY] Introduce '-I' option as hipify-clang's one + '-I' might be set as hipify-clang option (before separator '--' or without specifying separator at all); + '-I' as a clang option might be specified as well (after options separator '--'). --- hipify-clang/README.md | 1 - hipify-clang/src/ArgParse.cpp | 7 +++++++ hipify-clang/src/ArgParse.h | 1 + hipify-clang/src/main.cpp | 6 ++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hipify-clang/README.md b/hipify-clang/README.md index 812500ad34..deb951efbb 100644 --- a/hipify-clang/README.md +++ b/hipify-clang/README.md @@ -321,7 +321,6 @@ For example: ./hipify-clang \ square.cu \ --cuda-path=/usr/local/cuda-8.0 \ - -- \ -I /usr/local/cuda-8.0/samples/common/inc ``` diff --git a/hipify-clang/src/ArgParse.cpp b/hipify-clang/src/ArgParse.cpp index 9696cb74aa..d63a328b5b 100644 --- a/hipify-clang/src/ArgParse.cpp +++ b/hipify-clang/src/ArgParse.cpp @@ -89,4 +89,11 @@ cl::opt DashDash("-", cl::value_desc("--"), cl::cat(ToolTemplateCategory)); +cl::list I("I", + cl::desc("Add directory to include search path"), + cl::value_desc("directory"), + cl::ZeroOrMore, + cl::Prefix, + cl::cat(ToolTemplateCategory)); + cl::extrahelp CommonHelp(ct::CommonOptionsParser::HelpMessage); diff --git a/hipify-clang/src/ArgParse.h b/hipify-clang/src/ArgParse.h index 97f172d812..222062bae4 100644 --- a/hipify-clang/src/ArgParse.h +++ b/hipify-clang/src/ArgParse.h @@ -33,6 +33,7 @@ extern cl::opt OutputFilename; extern cl::opt OutputDir; extern cl::opt TemporaryDir; extern cl::opt CudaPath; +extern cl::list I; 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 6df8ae9679..e219f73023 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 (!I.empty()) { + for (std::string s : I) { + Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster("-I", ct::ArgumentInsertPosition::END)); + Tool.appendArgumentsAdjuster(ct::getInsertArgumentAdjuster(s.c_str(), ct::ArgumentInsertPosition::END)); + } + } Tool.appendArgumentsAdjuster(ct::getClangSyntaxOnlyAdjuster()); Statistics& currentStat = Statistics::current(); // Hipify _all_ the things!