diff options
Diffstat (limited to 'gcc/opts-common.c')
-rw-r--r-- | gcc/opts-common.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/opts-common.c b/gcc/opts-common.c index 507358a..55b6315 100644 --- a/gcc/opts-common.c +++ b/gcc/opts-common.c @@ -1361,7 +1361,13 @@ control_warning_option (unsigned int opt_index, int kind, const char *arg, diagnostic_context *dc) { if (cl_options[opt_index].alias_target != N_OPTS) - opt_index = cl_options[opt_index].alias_target; + { + gcc_assert (!cl_options[opt_index].cl_separate_alias + && !cl_options[opt_index].cl_negative_alias); + if (cl_options[opt_index].alias_arg) + arg = cl_options[opt_index].alias_arg; + opt_index = cl_options[opt_index].alias_target; + } if (opt_index == OPT_SPECIAL_ignore) return; if (dc) |