From 469bbc002a8fa89fd3616a13fcfdf4e38acfc926 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Thu, 12 Feb 2015 16:22:09 +0000 Subject: Added support for multiple header list files, as a precursor for when we need to load multiple module maps. llvm-svn: 228935 --- clang-tools-extra/modularize/Modularize.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'clang-tools-extra/modularize/Modularize.cpp') diff --git a/clang-tools-extra/modularize/Modularize.cpp b/clang-tools-extra/modularize/Modularize.cpp index 3504b75560b..babade8f999 100644 --- a/clang-tools-extra/modularize/Modularize.cpp +++ b/clang-tools-extra/modularize/Modularize.cpp @@ -178,9 +178,10 @@ using namespace llvm::opt; using namespace Modularize; // Option to specify a file name for a list of header files to check. -cl::opt -ListFileName(cl::Positional, - cl::desc("")); +cl::list +ListFileNames(cl::Positional, cl::value_desc("list"), + cl::desc(""), + cl::CommaSeparated); // Collect all other arguments, which will be passed to the front end. cl::list @@ -700,7 +701,7 @@ int main(int Argc, const char **Argv) { cl::ParseCommandLineOptions(Argc, Argv, "modularize.\n"); // No go if we have no header list file. - if (ListFileName.size() == 0) { + if (ListFileNames.size() == 0) { cl::PrintHelpMessage(); return 1; } @@ -708,11 +709,14 @@ int main(int Argc, const char **Argv) { // Get header file names and dependencies. SmallVector Headers; DependencyMap Dependencies; - if (std::error_code EC = getHeaderFileNames(Headers, Dependencies, - ListFileName, HeaderPrefix)) { - errs() << Argv[0] << ": error: Unable to get header list '" << ListFileName - << "': " << EC.message() << '\n'; - return 1; + typedef std::vector::iterator Iter; + for (Iter I = ListFileNames.begin(), E = ListFileNames.end(); I != E; ++I) { + if (std::error_code EC = getHeaderFileNames(Headers, Dependencies, + *I, HeaderPrefix)) { + errs() << Argv[0] << ": error: Unable to get header list '" << *I + << "': " << EC.message() << '\n'; + return 1; + } } // If we are in assistant mode, output the module map and quit. -- cgit v1.2.3