gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
authorNeil Booth <neil@daikokuya.demon.co.uk>
Sun, 24 Mar 2002 21:01:00 +0000 (21:01 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Sun, 24 Mar 2002 21:01:00 +0000 (21:01 +0000)
preprocessor/3951
* gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
* cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
(init_dependency_output): Don't make no_output decision here.

From-SVN: r51272

gcc/ChangeLog
gcc/cppinit.c
gcc/gcc.c

index c8c100dffc7f12dc3a845fa882d0f9572b38bfa2..f8c4710d636ff584b0944e3e08dc18c15eadb7cd 100644 (file)
@@ -1,3 +1,10 @@
+2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       preprocessor/3951
+       * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.      
+       * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
+       (init_dependency_output): Don't make no_output decision here.
+
 2002-03-24  Andrew Cagney  <ac131313@redhat.com>
 
        * stmt.c (check_for_full_enumeration_handling): Remove tests of
index 0ea8298ba9062d3e4438ccdca112951a061d36d8..8d4e0a706280d09178711ce66573d7c34a08931a 100644 (file)
@@ -1574,10 +1574,16 @@ cpp_handle_option (pfile, argc, argv, ignore)
          CPP_OPTION (pfile, print_deps_missing_files) = 1;
          break;
        case OPT_M:
+         /* When doing dependencies with -M or -MM, suppress normal
+            preprocessed output, but still do -dM etc. as software
+            depends on this.  Preprocessed output occurs if -MD, -MMD
+            or environment var dependency generation is used.  */
          CPP_OPTION (pfile, print_deps) = 2;
+         CPP_OPTION (pfile, no_output) = 1;
          break;
        case OPT_MM:
          CPP_OPTION (pfile, print_deps) = 1;
+         CPP_OPTION (pfile, no_output) = 1;
          break;
        case OPT_MF:
          CPP_OPTION (pfile, deps_file) = arg;
@@ -1591,12 +1597,6 @@ cpp_handle_option (pfile, argc, argv, ignore)
          deps_add_target (pfile->deps, arg, opt_code == OPT_MQ);
          break;
 
-         /* -MD and -MMD for cpp0 are deprecated and undocumented
-            (use -M or -MM with -MF instead), and probably should be
-            removed with the next major GCC version.  For the moment
-            we allow these for the benefit of Automake 1.4, which
-            uses these when dependency tracking is enabled.  Automake
-            1.5 will fix this.  */
        case OPT_MD:
          CPP_OPTION (pfile, print_deps) = 2;
          CPP_OPTION (pfile, deps_file) = arg;
@@ -1890,10 +1890,6 @@ init_dependency_output (pfile)
     /* If -M or -MM was seen without -MF, default output to wherever
        was specified with -o.  out_fname is non-NULL here.  */
     CPP_OPTION (pfile, deps_file) = CPP_OPTION (pfile, out_fname);
-
-  /* When doing dependencies, suppress normal preprocessed output.
-     Still do -dM, -dI etc. as e.g. glibc depends on this.  */
-  CPP_OPTION (pfile, no_output) = 1;
 }
 
 /* Handle --help output.  */
index 436b97baf27d80628c9abb66c6e99eccf30e02d0..5787b0e05bf02dfa7d7391db13b2c8c23460eb45 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -664,8 +664,8 @@ static const char *trad_capable_cpp =
 static const char *cpp_unique_options =
 "%{C:%{!E:%eGNU C does not support -C without using -E}}\
  %{!Q:-quiet} %{nostdinc*} %{C} %{v} %{I*} %{P} %{$} %I\
- %{MD:-M -MF %W{!o: %b.d}%W{o*:%.d%*}}\
- %{MMD:-MM -MF %W{!o: %b.d}%W{o*:%.d%*}}\
+ %{MD:-MD %W{!o: %b.d}%W{o*:%.d%*}}\
+ %{MMD:-MMD %W{!o: %b.d}%W{o*:%.d%*}}\
  %{M} %{MM} %W{MF*} %{MG} %{MP} %{MQ*} %{MT*}\
  %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}\
  %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\