[driver] When creating the compiler invocation out of command-line

arguments, force use of clang frontend for the driver.

Fixes rdar://11356765.

llvm-svn: 157205
This commit is contained in:
Argyrios Kyrtzidis
2012-05-21 20:11:54 +00:00
parent 9bbf481f02
commit 3169e80603
6 changed files with 28 additions and 16 deletions

View File

@@ -43,13 +43,17 @@ clang::createInvocationFromCommandLine(ArrayRef<const char *> ArgList,
Args.push_back("<clang>"); // FIXME: Remove dummy argument.
Args.insert(Args.end(), ArgList.begin(), ArgList.end());
// FIXME: Find a cleaner way to force the driver into restricted modes. We
// also want to force it to use clang.
// FIXME: Find a cleaner way to force the driver into restricted modes.
Args.push_back("-fsyntax-only");
// FIXME: We shouldn't have to pass in the path info.
driver::Driver TheDriver("clang", llvm::sys::getDefaultTargetTriple(),
"a.out", false, *Diags);
// Force driver to use clang.
// FIXME: This seems like a hack. Maybe the "Clang" tool subclass should be
// available for using it to get the arguments, thus avoiding the overkill
// of using the driver.
TheDriver.setForcedClangUse();
// Don't check that inputs exist, they may have been remapped.
TheDriver.setCheckInputsExist(false);