diff options
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 01b33a3..c104e29 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -272,8 +272,13 @@ gnat_init_options (unsigned int decoded_options_count, save_argc = 0; for (i = 0; i < decoded_options_count; i++) { + if (decoded_options[i].errors + || decoded_options[i].opt_index == OPT_SPECIAL_unknown) + continue; + gcc_assert (decoded_options[i].canonical_option_num_elements >= 1 + && decoded_options[i].canonical_option_num_elements <= 2); save_argv[save_argc++] = decoded_options[i].canonical_option[0]; - if (decoded_options[i].canonical_option[1] != NULL) + if (decoded_options[i].canonical_option_num_elements >= 2) save_argv[save_argc++] = decoded_options[i].canonical_option[1]; } save_argv[save_argc] = NULL; |