commit c99726d1c133968802b435ea04a78fcd31e4801f
parent 263d770f9526e10696f027f15c51343ea71ccb6a
Author: Kyle Milz <kyle@getaddrinfo.net>
Date: Thu, 17 Mar 2016 23:39:00 -0600
instrument: replace another variable length array with vector
Diffstat:
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/instrument/main.cxx b/instrument/main.cxx
@@ -57,18 +57,17 @@ clean_path()
void
instrument(int argc, char *argv[], std::vector<std::string> &source_files)
{
- const char *clang_argv[source_files.size() + 1 + argc];
- int clang_argc = 0;
+ std::vector<const char *> clang_argv;
+ clang_argv.push_back(argv[0]);
- clang_argv[clang_argc++] = argv[0];
for (auto s : source_files)
- clang_argv[clang_argc++] = s.c_str();
+ clang_argv.push_back(s.c_str());
- clang_argv[clang_argc++] = "--";
+ clang_argv.push_back("--");
// append original command line verbatim after --
for (int i = 0; i < argc; i++)
- clang_argv[clang_argc++] = argv[i];
+ clang_argv.push_back(argv[i]);
#ifdef DEBUG
// print out
@@ -78,7 +77,8 @@ instrument(int argc, char *argv[], std::vector<std::string> &source_files)
#endif
// give clang it's <source files> -- <native command line> arg style
- CommonOptionsParser op(clang_argc, clang_argv, ToolingCategory);
+ int clang_argc = clang_argv.size();
+ CommonOptionsParser op(clang_argc, &clang_argv[0], ToolingCategory);
ClangTool Tool(op.getCompilations(), op.getSourcePathList());
// ClangTool::run accepts a FrontendActionFactory, which is then used to