summaryrefslogtreecommitdiff
path: root/gcc/opts-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/opts-common.c')
-rw-r--r--gcc/opts-common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index 345afe844d2..a88aed032d9 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -507,6 +507,7 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
{
gcc_assert (option->alias_arg != NULL);
gcc_assert (arg == NULL);
+ gcc_assert (!(option->flags & CL_NEGATIVE_ALIAS));
if (value)
arg = option->alias_arg;
else
@@ -517,9 +518,13 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
{
gcc_assert (value == 1);
gcc_assert (arg == NULL);
+ gcc_assert (!(option->flags & CL_NEGATIVE_ALIAS));
arg = option->alias_arg;
}
+ if (option->flags & CL_NEGATIVE_ALIAS)
+ value = !value;
+
opt_index = new_opt_index;
option = new_option;