r292032 - Fix PR31644 introduced by r287138 and add a regression test.

Yaron Keren via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 14 13:12:08 PST 2017


Author: yrnkrn
Date: Sat Jan 14 15:12:08 2017
New Revision: 292032

URL: http://llvm.org/viewvc/llvm-project?rev=292032&view=rev
Log:
Fix PR31644 introduced by r287138 and add a regression test.
Thanks Dimitry Andric for the report and fix!


Modified:
    cfe/trunk/lib/Frontend/DependencyFile.cpp
    cfe/trunk/test/Preprocessor/dependencies-and-pp.c

Modified: cfe/trunk/lib/Frontend/DependencyFile.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/DependencyFile.cpp?rev=292032&r1=292031&r2=292032&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/DependencyFile.cpp (original)
+++ cfe/trunk/lib/Frontend/DependencyFile.cpp Sat Jan 14 15:12:08 2017
@@ -447,9 +447,9 @@ void DFGImpl::OutputDependencyFile() {
   // Create phony targets if requested.
   if (PhonyTarget && !Files.empty()) {
     // Skip the first entry, this is always the input file itself.
-    for (StringRef File : Files) {
+    for (auto I = Files.begin() + 1, E = Files.end(); I != E; ++I) {
       OS << '\n';
-      PrintFilename(OS, File, OutputFormat);
+      PrintFilename(OS, *I, OutputFormat);
       OS << ":\n";
     }
   }

Modified: cfe/trunk/test/Preprocessor/dependencies-and-pp.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/dependencies-and-pp.c?rev=292032&r1=292031&r2=292032&view=diff
==============================================================================
--- cfe/trunk/test/Preprocessor/dependencies-and-pp.c (original)
+++ cfe/trunk/test/Preprocessor/dependencies-and-pp.c Sat Jan 14 15:12:08 2017
@@ -32,5 +32,12 @@
 // RUN: FileCheck -check-prefix=TEST5 %s < %t.d
 // TEST5: foo $$(bar) b az qu\ ux \ space:
 
+// Test self dependency, PR31644
+
+// RUN: %clang -E -MD -MP -MF %t.d %s
+// RUN: FileCheck -check-prefix=TEST6 %s < %t.d
+// TEST6: dependencies-and-pp.c
+// TEST6-NOT: dependencies-and-pp.c:
+
 // TODO: Test default target without quoting
 // TODO: Test default target with quoting




More information about the cfe-commits mailing list