Commit a073516d by Danny Smith Committed by Danny Smith

re PR driver/28528 (C language extensions override -x in C++ driver)

	PR driver/28528
	* g++spec.c (lang_specific_driver): Always check if we need to
	swallow a space-separated  arg to '-x'.
	* lang-specs.h: Don't create ouput files for '-xc++-header'
	if -fsyntax-only.

From-SVN: r116392
parent df1195db
2006-08-24 Danny Smith <dannysmith@users.sourceforge.net>
PR driver/28528
* g++spec.c (lang_specific_driver): Always check if we need to
swallow a space-separated arg to '-x'.
* lang-specs.h: Don't create ouput files for '-xc++-header'
if -fsyntax-only.
2006-08-23 Jason Merrill <jason@redhat.com> 2006-08-23 Jason Merrill <jason@redhat.com>
PR c++/27714 PR c++/27714
......
...@@ -149,19 +149,19 @@ lang_specific_driver (int *in_argc, const char *const **in_argv, ...@@ -149,19 +149,19 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
saw_verbose_flag = 1; saw_verbose_flag = 1;
else if (strncmp (argv[i], "-x", 2) == 0) else if (strncmp (argv[i], "-x", 2) == 0)
{ {
if (library == 0) const char * arg;
{ if (argv[i][2] != '\0')
const char * arg; arg = argv[i]+2;
if (argv[i][2] != '\0') else if ((argv[i+1]) != NULL)
arg = argv[i]+2; /* We need to swallow arg on next loop. */
else if (argv[i+1] != NULL) quote = arg = argv[i+1];
arg = argv[i+1]; else /* Error condition, message will be printed later. */
else /* Error condition, message will be printed later. */ arg = "";
arg = ""; if (library == 0
if (strcmp (arg, "c++") == 0 && (strcmp (arg, "c++") == 0
|| strcmp (arg, "c++-cpp-output") == 0) || strcmp (arg, "c++-cpp-output") == 0))
library = 1; library = 1;
}
saw_speclang = 1; saw_speclang = 1;
} }
/* Arguments that go directly to the linker might be .o files, /* Arguments that go directly to the linker might be .o files,
......
...@@ -43,7 +43,7 @@ Boston, MA 02110-1301, USA. */ ...@@ -43,7 +43,7 @@ Boston, MA 02110-1301, USA. */
cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
%(cc1_options) %2 %{+e1*}\ %(cc1_options) %2 %{+e1*}\
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}", %{!fsyntax-only:-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0}, CPLUSPLUS_CPP_SPEC, 0, 0},
{"@c++", {"@c++",
"%{E|M|MM:cc1plus -E %(cpp_options) %2 %(cpp_debug_options)}\ "%{E|M|MM:cc1plus -E %(cpp_options) %2 %(cpp_debug_options)}\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment