Changed option processing to implicitly use -x c++ if no other -x option specified. Added implicit -w option to disable compilation warnings, in particular to avoid warning on pragma once.
llvm-svn: 236625
This commit is contained in:
parent
fcf3f47d7a
commit
f9f62b116f
|
@ -37,9 +37,10 @@ directory.
|
|||
|
||||
``<front-end-options>`` is a place-holder for regular Clang
|
||||
front-end arguments, which must follow the <include-files-list>.
|
||||
Note that by default, the underlying Clang front end assumes .h files
|
||||
contain C source, so you might need to specify the ``-x c++`` Clang option
|
||||
to tell Clang that the header contains C++ definitions.
|
||||
Note that by default, modularize assumes .h files
|
||||
contain C++ source, so if you are using a different language,
|
||||
you might need to use a ``-x`` option to tell Clang that the
|
||||
header contains another language, i.e.: ``-x c``
|
||||
|
||||
Note also that because modularize does not use the clang driver,
|
||||
you will likely need to pass in additional compiler front-end
|
||||
|
|
|
@ -73,9 +73,9 @@
|
|||
// you will likely need to pass in additional compiler front-end
|
||||
// arguments to match those passed in by default by the driver.
|
||||
//
|
||||
// Note that by default, the underlying Clang front end assumes .h files
|
||||
// contain C source. If your .h files in the file list contain C++ source,
|
||||
// you should append the following to your command lines: -x c++
|
||||
// Note that by default, the modularize assumes .h files contain C++ source.
|
||||
// If your .h files in the file list contain another language, you should
|
||||
// append an appropriate -x option to your command line, i.e.: -x c
|
||||
//
|
||||
// Modularization Issue Checks
|
||||
//
|
||||
|
@ -331,7 +331,8 @@ static std::string findInputFile(const CommandLineArguments &CLArgs) {
|
|||
}
|
||||
|
||||
// This arguments adjuster inserts "-include (file)" arguments for header
|
||||
// dependencies.
|
||||
// dependencies. It also insertts a "-w" option and a "-x c++",
|
||||
// if no other "-x" option is present.
|
||||
static ArgumentsAdjuster
|
||||
getAddDependenciesAdjuster(DependencyMap &Dependencies) {
|
||||
return [&Dependencies](const CommandLineArguments &Args) {
|
||||
|
@ -346,6 +347,13 @@ getAddDependenciesAdjuster(DependencyMap &Dependencies) {
|
|||
NewArgs.push_back(FileDependents[Index]);
|
||||
}
|
||||
}
|
||||
// Ignore warnings. (Insert after "clang_tool" at beginning.)
|
||||
NewArgs.insert(NewArgs.begin() + 1, "-w");
|
||||
// Since we are compiling .h files, assume C++ unless given a -x option.
|
||||
if (std::find(NewArgs.begin(), NewArgs.end(), "-x") == NewArgs.end()) {
|
||||
NewArgs.insert(NewArgs.begin() + 2, "-x");
|
||||
NewArgs.insert(NewArgs.begin() + 3, "c++");
|
||||
}
|
||||
return NewArgs;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue