aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-01-25 20:00:43 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-01-25 20:00:43 +0000
commitada4fa7978dc91a5e615af2ec29e12e3c6973c7f (patch)
tree1787f26aaed975d11ca8b1c8d1fad61f7ec0fe24
parent60a09dcc4656b82c7f96f8719a403a83247f6742 (diff)
[driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148970 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Driver/unknown-arg.c4
-rw-r--r--tools/driver/cc1_main.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/test/Driver/unknown-arg.c b/test/Driver/unknown-arg.c
new file mode 100644
index 0000000000..5d0f7afc51
--- /dev/null
+++ b/test/Driver/unknown-arg.c
@@ -0,0 +1,4 @@
+// RUN: not %clang_cc1 %s -cake-is-lie 2> %t.log
+// RUN: FileCheck %s -input-file=%t.log
+
+// CHECK: unknown argument
diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp
index 0a14fdd315..ad3f3502ec 100644
--- a/tools/driver/cc1_main.cpp
+++ b/tools/driver/cc1_main.cpp
@@ -140,8 +140,6 @@ int cc1_main(const char **ArgBegin, const char **ArgEnd,
bool Success;
Success = CompilerInvocation::CreateFromArgs(Clang->getInvocation(),
ArgBegin, ArgEnd, Diags);
- if (!Success)
- return 1;
// Infer the builtin include path if unspecified.
if (Clang->getHeaderSearchOpts().UseBuiltinIncludes &&
@@ -160,6 +158,8 @@ int cc1_main(const char **ArgBegin, const char **ArgEnd,
static_cast<void*>(&Clang->getDiagnostics()));
DiagsBuffer->FlushDiagnostics(Clang->getDiagnostics());
+ if (!Success)
+ return 1;
// Execute the frontend actions.
Success = ExecuteCompilerInvocation(Clang.get());