Index: driver/cc1.cc
===================================================================
--- driver/cc1.cc	(revision 51230f1b0b3a0b2369faa7f3da203099607660c7)
+++ driver/cc1.cc	(revision db62eef976cc228c437ea0efc03f901f14e7694e)
@@ -10,6 +10,6 @@
 // Created On       : Fri Aug 26 14:23:51 2005
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat May 30 18:09:05 2020
-// Update Count     : 404
+// Last Modified On : Thu Aug 13 21:03:15 2020
+// Update Count     : 407
 //
 
@@ -170,5 +170,5 @@
 			if ( arg == "-quiet" ) {
 			} else if ( arg == "-imultilib" || arg == "-imultiarch" ) {
-				i += 1;									// and the argument
+				i += 1;									// and argument
 			} else if ( prefix( arg, "-A" ) ) {
 			} else if ( prefix( arg, "-D__GNU" ) ) {
@@ -177,5 +177,5 @@
 				//********
 			} else if ( arg == "-D" && prefix( argv[i + 1], "__GNU" ) ) {
-				i += 1;									// and the argument
+				i += 1;									// and argument
 
 				// strip flags controlling cpp step
@@ -184,5 +184,5 @@
 				cpp_flag = true;
 			} else if ( arg == "-D" && string( argv[i + 1] ) == "__CPP__" ) {
-				i += 1;									// and the argument
+				i += 1;									// and argument
 				cpp_flag = true;
 
@@ -194,5 +194,5 @@
 				cpp_out = argv[i];
 			} else {
-				args[nargs++] = argv[i];				// pass the flag along
+				args[nargs++] = argv[i];				// pass flag along
 				// CPP flags with an argument
 				if ( arg == "-D" || arg == "-U" || arg == "-I" || arg == "-MF" || arg == "-MT" || arg == "-MQ" ||
@@ -200,12 +200,14 @@
 					 arg == "-iwithprefix" || arg == "-iwithprefixbefore" || arg == "-isystem" || arg == "-isysroot" ) {
 					i += 1;
-					args[nargs++] = argv[i];			// pass the argument along
+					args[nargs++] = argv[i];			// pass argument along
 					#ifdef __DEBUG_H__
 					cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
 					#endif // __DEBUG_H__
 				} else if ( arg == "-MD" || arg == "-MMD" ) {
+					// gcc frontend generates the dependency file-name after the -MD/-MMD flag, but it is necessary to
+					// prefix that file name with -MF.
 					args[nargs++] = "-MF";				// insert before file
 					i += 1;
-					args[nargs++] = argv[i];			// pass the argument along
+					args[nargs++] = argv[i];			// pass argument along
 					#ifdef __DEBUG_H__
 					cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
@@ -279,5 +281,5 @@
 	// Run the C preprocessor and save the output in the given file.
 
-	if ( fork() == 0 ) {								 // child process ?
+	if ( fork() == 0 ) {								// child process ?
 		// -o xxx.ii cannot be used to write the output file from cpp because no output file is created if cpp detects
 		// an error (e.g., cannot find include file). Whereas, output is always generated, even when there is an error,
@@ -388,9 +390,9 @@
 
 			} else {
-				args[nargs++] = argv[i];				// pass the flag along
+				args[nargs++] = argv[i];				// pass flag along
 				if ( arg == "-o" ) {
 					i += 1;
 					cpp_out = argv[i];
-					args[nargs++] = argv[i];			// pass the argument along
+					args[nargs++] = argv[i];			// pass argument along
 					#ifdef __DEBUG_H__
 					cerr << "arg:\"" << argv[i] << "\"" << endl;
