gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.

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
This commit is contained in:
Neil Booth 2002-03-24 21:01:00 +00:00 committed by Neil Booth
parent 740b77b675
commit 3ddbb8a977
3 changed files with 15 additions and 12 deletions

View 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

View 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. */

View File

@ -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}\