http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54964
Bug #: 54964 Summary: -MMD is silently ignored with -x assembler (or inferred language from .s extension) Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver AssignedTo: unassig...@gcc.gnu.org ReportedBy: a...@fischman.org When gcc is asked to compile a .s into a .o, or when told to compile a language "assembler" file, it ignores the request for a dependency file. -x assembler-with-cpp emits the requested dependency file. It would be nice if gcc never ignored the -MMD flag. Repro: note the first two commands fail to create empty.o.d, whereas the last command does not fail: $ rm -f empty.o* ; touch empty.s ; gcc -MMD -MF empty.o.d -c empty.s -o empty.o ; ls -al empty.o* -rw-r--r-- 1 fischman eng 657 Oct 17 17:04 empty.o $ rm -f empty.o* ; gcc -MMD -MF empty.o.d -x assembler /dev/null -c -o empty.o ; ls -al empty.o* -rw-r--r-- 1 fischman eng 657 Oct 17 16:56 empty.o $ rm -f empty.o* ; gcc -MMD -MF empty.o.d -x assembler-with-cpp /dev/null -c -o empty.o ; ls -al empty.o* -rw-r--r-- 1 fischman eng 657 Oct 17 16:56 empty.o -rw-r--r-- 1 fischman eng 19 Oct 17 16:56 empty.o.d