forked from OSchip/llvm-project
Disable all dependency output options when using the Tooling library.
It isn't appropriate for a tool to be stomping over the dependency files, especially if the actual build uses a compiler other than Clang or the tool cannot find all the headers for some reason (which would cause the existing dependency file to be deleted). If a tool actually needs to care about dependency files we can think about adding a mechanism for getting to this information. Differential Revision: http://llvm-reviews.chandlerc.com/D2912 llvm-svn: 202669
This commit is contained in:
parent
b17a3b3d33
commit
c0423b349b
|
@ -99,6 +99,7 @@ static clang::CompilerInvocation *newInvocation(
|
|||
*Diagnostics);
|
||||
Invocation->getFrontendOpts().DisableFree = false;
|
||||
Invocation->getCodeGenOpts().DisableFree = false;
|
||||
Invocation->getDependencyOutputOpts() = DependencyOutputOptions();
|
||||
return Invocation;
|
||||
}
|
||||
|
||||
|
|
|
@ -236,6 +236,17 @@ TEST(runToolOnCode, TestSkipFunctionBody) {
|
|||
"int skipMeNot() { an_error_here }"));
|
||||
}
|
||||
|
||||
TEST(runToolOnCodeWithArgs, TestNoDepFile) {
|
||||
llvm::SmallString<32> DepFilePath;
|
||||
ASSERT_FALSE(
|
||||
llvm::sys::fs::createTemporaryFile("depfile", "d", DepFilePath));
|
||||
EXPECT_TRUE(runToolOnCodeWithArgs(
|
||||
new SkipBodyAction, "",
|
||||
{ "-MMD", "-MT", DepFilePath.str(), "-MF", DepFilePath.str() }));
|
||||
EXPECT_FALSE(llvm::sys::fs::exists(DepFilePath.str()));
|
||||
EXPECT_FALSE(llvm::sys::fs::remove(DepFilePath.str()));
|
||||
}
|
||||
|
||||
struct CheckSyntaxOnlyAdjuster: public ArgumentsAdjuster {
|
||||
bool &Found;
|
||||
bool &Ran;
|
||||
|
|
Loading…
Reference in New Issue