[llvm-bugs] [Bug 31644] New: r287138 causes -MP output to be incorrect
via llvm-bugs
llvm-bugs at lists.llvm.org
Sat Jan 14 09:29:10 PST 2017
https://llvm.org/bugs/show_bug.cgi?id=31644
Bug ID: 31644
Summary: r287138 causes -MP output to be incorrect
Product: new-bugs
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: dimitry at andric.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Before r287138:
$ cat a.c
int main(void) { return 0; }
$ clang -MD -MP -c a.c
$ cat a.d
a.o: a.c
After r287138:
$ clang -MD -MP -c a.c
$ cat a.d
a.o: a.c
a.c:
E.g. one additional dependency for the main source file itself is printed,
while it should not be.
The relevant piece of code is in 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) {
OS << '\n';
PrintFilename(OS, File, OutputFormat);
OS << ":\n";
}
}
Unfortunately the comment does not match the range-based for loop anymore, as
this does *not* skip the first entry. The code used to do:
for (std::vector<std::string>::iterator I = Files.begin() + 1,
E = Files.end(); I != E; ++I) {
I am unsure how to achieve this effect with range-based for loops though, it
may be best to just revert that part.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170114/f8ab827a/attachment.html>
More information about the llvm-bugs
mailing list