aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/misc.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-02-14 19:16:34 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-02-14 19:16:34 +0000
commit400a2d24373671cfd8de8c2a2c6d5c788d76b3d5 (patch)
treefb8064f1c3f33b9d74b293b0466784e66405ef83 /gcc/ada/gcc-interface/misc.c
parent12967872c546b0da18b13e4b1a5b1f5d3f6cee07 (diff)
downloadgcc-400a2d24373671cfd8de8c2a2c6d5c788d76b3d5.zip
gcc-400a2d24373671cfd8de8c2a2c6d5c788d76b3d5.tar.gz
gcc-400a2d24373671cfd8de8c2a2c6d5c788d76b3d5.tar.bz2
misc.c (gnat_init_options): Do not concatenate -I and its argument, except for the special -I- switch.
* gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and its argument, except for the special -I- switch. From-SVN: r170150
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
-rw-r--r--gcc/ada/gcc-interface/misc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index 360ebab..4f7a5e1 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -195,13 +195,12 @@ gnat_init_options (unsigned int decoded_options_count,
|| num_elements == 0)
continue;
- if (decoded_options[i].opt_index == OPT_I)
- {
- gcc_assert (num_elements == 2);
- save_argv[save_argc++]
- = concat (decoded_options[i].canonical_option[0],
- decoded_options[i].canonical_option[1], NULL);
- }
+ /* Deal with -I- specially since it must be a single switch. */
+ if (decoded_options[i].opt_index == OPT_I
+ && num_elements == 2
+ && decoded_options[i].canonical_option[1][0] == '-'
+ && decoded_options[i].canonical_option[1][1] == '\0')
+ save_argv[save_argc++] = "-I-";
else
{
gcc_assert (num_elements >= 1 && num_elements <= 2);