aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/opts-common.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 561bbcb..6fa4090 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-08-28 Martin Sebor <msebor@redhat.com>
+
+ PR driver/80545
+ * opts-common.c (option_enabled): Correct checking for language
+ options.
+
2019-08-28 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386-features.c
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index e2a315b..200951b 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -1532,7 +1532,9 @@ option_enabled (int opt_idx, unsigned lang_mask, void *opts)
/* A language-specific option can only be considered enabled when it's
valid for the current language. */
- if (option->flags & CL_LANG_ALL && !(option->flags | lang_mask))
+ if (!(option->flags & CL_COMMON)
+ && (option->flags & CL_LANG_ALL)
+ && !(option->flags & lang_mask))
return 0;
struct gcc_options *optsg = (struct gcc_options *) opts;