diff options
author | Ian Lance Taylor <iant@google.com> | 2012-01-17 14:52:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-01-17 14:52:42 +0000 |
commit | a6d10e80119b8dc77f7e8d791cbd0546a4b0aa22 (patch) | |
tree | 450c67c91976dd6284e71bcd8f1ebefe6a30474e /gcc/go/gospec.c | |
parent | 4df0f7da3775139a40ef3b4a6fbcdb1413097b26 (diff) | |
download | gcc-a6d10e80119b8dc77f7e8d791cbd0546a4b0aa22.zip gcc-a6d10e80119b8dc77f7e8d791cbd0546a4b0aa22.tar.gz gcc-a6d10e80119b8dc77f7e8d791cbd0546a4b0aa22.tar.bz2 |
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
Diffstat (limited to 'gcc/go/gospec.c')
-rw-r--r-- | gcc/go/gospec.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gcc/go/gospec.c b/gcc/go/gospec.c index 55a3bcd..8e8aa2dd 100644 --- a/gcc/go/gospec.c +++ b/gcc/go/gospec.c @@ -1,5 +1,5 @@ /* 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]); |