diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-02-14 19:16:34 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-02-14 19:16:34 +0000 |
commit | 400a2d24373671cfd8de8c2a2c6d5c788d76b3d5 (patch) | |
tree | fb8064f1c3f33b9d74b293b0466784e66405ef83 | |
parent | 12967872c546b0da18b13e4b1a5b1f5d3f6cee07 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/include.adb | 4 |
4 files changed, 19 insertions, 7 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cf72091..defad83 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2011-02-14 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and + its argument, except for the special -I- switch. + 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com> * gnat_ugn.texi (Compiling Different Versions of Ada): Update 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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 82e8ba3..9d200a4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-02-14 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/include.adb: New test. + 2011-02-14 Janus Weil <janus@gcc.gnu.org> PR fortran/47728 diff --git a/gcc/testsuite/gnat.dg/include.adb b/gcc/testsuite/gnat.dg/include.adb new file mode 100644 index 0000000..ec183c7 --- /dev/null +++ b/gcc/testsuite/gnat.dg/include.adb @@ -0,0 +1,4 @@ +-- { dg-do compile } */ +-- { dg-options "-cargs -I -gnatws" } + +-- { dg-error "search directory missing" "" { target *-*-* } 0 } |