r207454 - When Driver::generateCompilationDiagnostics is filtering the list of
Paul Robinson
paul_robinson at playstation.sony.com
Mon Apr 28 15:24:45 PDT 2014
Author: probinson
Date: Mon Apr 28 17:24:44 2014
New Revision: 207454
URL: http://llvm.org/viewvc/llvm-project?rev=207454&view=rev
Log:
When Driver::generateCompilationDiagnostics is filtering the list of
inputs to the preprocessor, check for invalid types first because not
all linker inputs have an option value to retrieve.
Modified:
cfe/trunk/lib/Driver/Driver.cpp
cfe/trunk/test/Driver/crash-report.c
Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=207454&r1=207453&r2=207454&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Mon Apr 28 17:24:44 2014
@@ -447,13 +447,14 @@ void Driver::generateCompilationDiagnost
bool IgnoreInput = false;
// Ignore input from stdin or any inputs that cannot be preprocessed.
- if (!strcmp(it->second->getValue(), "-")) {
+ // Check type first as not all linker inputs have a value.
+ if (types::getPreprocessedType(it->first) == types::TY_INVALID) {
+ IgnoreInput = true;
+ } else if (!strcmp(it->second->getValue(), "-")) {
Diag(clang::diag::note_drv_command_failed_diag_msg)
<< "Error generating preprocessed source(s) - ignoring input from stdin"
".";
IgnoreInput = true;
- } else if (types::getPreprocessedType(it->first) == types::TY_INVALID) {
- IgnoreInput = true;
}
if (IgnoreInput) {
Modified: cfe/trunk/test/Driver/crash-report.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/crash-report.c?rev=207454&r1=207453&r2=207454&view=diff
==============================================================================
--- cfe/trunk/test/Driver/crash-report.c (original)
+++ cfe/trunk/test/Driver/crash-report.c Mon Apr 28 17:24:44 2014
@@ -14,7 +14,7 @@
// because of the glob (*.c, *.sh)
// REQUIRES: shell
-// RUN: not env FORCE_CLANG_DIAGNOSTICS_CRASH=1 %clang -fsyntax-only -x c /dev/null 2>&1 | FileCheck %s
+// RUN: not env FORCE_CLANG_DIAGNOSTICS_CRASH=1 %clang -fsyntax-only -x c /dev/null -lstdc++ 2>&1 | FileCheck %s
// FIXME: Investigating. "fatal error: file 'nul' modified since it was first processed"
// XFAIL: mingw32
More information about the cfe-commits
mailing list