------- Comment #16 from cgd at google dot com 2010-02-07 21:24 ------- (In reply to comment #15) > *** Bug 42921 has been marked as a duplicate of this bug. *** >
FWIW, I actually think that's a different issue (though certainly related). this bug was all about -MD and -MMD -- and what happens when an object file needs to be output, but cannot be because of a missing include. AFAICT, that bug is all about, what should the handling of -MM be vs. missing system headers. That having been said, I will note that with: gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) you get the results: [...@laptop tmp]$ echo "#include <does_not_exist.h>" > foo.c [...@laptop tmp]$ gcc -MM -MF foo.d foo.c && echo succeeded || echo failed foo.c:1:28: does_not_exist.h: No such file or directory failed [...@laptop tmp]$ echo '#include "does_not_exist.h"' > foo.c [...@laptop tmp]$ gcc -MM -MF foo.d foo.c && echo succeeded || echo failed foo.c:1:28: does_not_exist.h: No such file or directory failed So this certainly used to behave as the submitter of 42921 expected at *some* point. As of 4.2.2 (the next version I have handy after 3.4.4) the first case reported "succeeded" (and the second failed). --cgd -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28435