[cfe-commits] r167559 - in /cfe/trunk: lib/Driver/Driver.cpp test/Driver/Wp-args.c
Michael J. Spencer
bigcheesegs at gmail.com
Wed Nov 7 15:37:14 PST 2012
Author: mspencer
Date: Wed Nov 7 17:37:14 2012
New Revision: 167559
URL: http://llvm.org/viewvc/llvm-project?rev=167559&view=rev
Log:
[Driver] Fix -Wp,-MMD pr13959
Modified:
cfe/trunk/lib/Driver/Driver.cpp
cfe/trunk/test/Driver/Wp-args.c
Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=167559&r1=167558&r2=167559&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Wed Nov 7 17:37:14 2012
@@ -185,7 +185,6 @@
// some build systems. We don't try to be complete here because we don't
// care to encourage this usage model.
if (A->getOption().matches(options::OPT_Wp_COMMA) &&
- A->getNumValues() == 2 &&
(A->getValue(0) == StringRef("-MD") ||
A->getValue(0) == StringRef("-MMD"))) {
// Rewrite to -MD/-MMD along with -MF.
@@ -193,8 +192,9 @@
DAL->AddFlagArg(A, Opts->getOption(options::OPT_MD));
else
DAL->AddFlagArg(A, Opts->getOption(options::OPT_MMD));
- DAL->AddSeparateArg(A, Opts->getOption(options::OPT_MF),
- A->getValue(1));
+ if (A->getNumValues() == 2)
+ DAL->AddSeparateArg(A, Opts->getOption(options::OPT_MF),
+ A->getValue(1));
continue;
}
Modified: cfe/trunk/test/Driver/Wp-args.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Wp-args.c?rev=167559&r1=167558&r2=167559&view=diff
==============================================================================
--- cfe/trunk/test/Driver/Wp-args.c (original)
+++ cfe/trunk/test/Driver/Wp-args.c Wed Nov 7 17:37:14 2012
@@ -11,3 +11,11 @@
// CHECK: "-MT"
//
// PR4062
+
+// RUN: %clang --target i386-pc-linux-gnu -### \
+// RUN: -Wp,-MMD -fsyntax-only %s 2> %t
+// RUN: FileCheck -check-prefix MMD < %t %s
+
+// MMD: "-cc1"
+// MMD-NOT: -MMD
+// MMD: "-dependency-file" "Wp-args.d"
More information about the cfe-commits
mailing list