Commit a6d10e80 by Ian Lance Taylor Committed by Ian Lance Taylor

gospec.c (lang_specific_driver): If we see -S without -o, add -o BASE.s rather than -o BASE.o.

	* gospec.c (lang_specific_driver): If we see -S without -o, add -o
	BASE.s rather than -o BASE.o.

From-SVN: r183248
parent 4df0f7da
2012-01-17 Ian Lance Taylor <iant@google.com>
* gospec.c (lang_specific_driver): If we see -S without -o, add -o
BASE.s rather than -o BASE.o.
2012-01-11 Ian Lance Taylor <iant@google.com>
* go-lang.c (go_langhook_init): Initialize void_list_node before
......
/* gospec.c -- Specific flags and argument handling of the gcc Go front end.
Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -109,6 +109,9 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
/* Whether the -o option was used. */
bool saw_opt_o = false;
/* Whether the -S option was used. */
bool saw_opt_S = false;
/* The first input file with an extension of .go. */
const char *first_go_file = NULL;
......@@ -163,7 +166,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
break;
case OPT_c:
case OPT_S:
case OPT_E:
case OPT_M:
case OPT_MM:
......@@ -173,6 +175,11 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
library = -1;
break;
case OPT_S:
saw_opt_S = true;
library = -1;
break;
case OPT_o:
saw_opt_o = true;
break;
......@@ -280,10 +287,13 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
alen = baselen + 3;
out = XNEWVEC (char, alen);
memcpy (out, base, baselen);
/* The driver will convert .o to some other suffix if
appropriate. */
/* The driver will convert .o to some other suffix (e.g., .obj)
if appropriate. */
out[baselen] = '.';
out[baselen + 1] = 'o';
if (saw_opt_S)
out[baselen + 1] = 's';
else
out[baselen + 1] = 'o';
out[baselen + 2] = '\0';
generate_option (OPT_o, out, 1, CL_DRIVER,
&new_decoded_options[j]);
......
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