aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/opts-common.c')
-rw-r--r--gcc/opts-common.c8
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)