correct checking of language options (PR 80545)

Message ID 6da51bfe-074c-5f36-25fe-d4c999323012@gmail.com
State New
Headers show
Series
  • correct checking of language options (PR 80545)
Related show

Commit Message

Martin Sebor Aug. 28, 2019, 3:39 p.m.
The patch for PR 80545 I committed sometime ago in r273771 needs
an additional tweak to be fully effective.  Besides a thinko
(using a bitwise OR instead of an AND) it doesn't handle common
options.  Attached is this tweak, retested on x86_64-linux.
I will go ahead and commit it shortly.

Martin

Patch

PR driver/80545 - option -Wstringop-overflow not recognized by Fortran

gcc/ChangeLog:

	PR driver/80545
	* opts-common.c (option_enabled): Correct checking for language
	options.

Index: gcc/opts-common.c
===================================================================
--- gcc/opts-common.c	(revision 274932)
+++ gcc/opts-common.c	(working copy)
@@ -1532,7 +1532,9 @@  option_enabled (int opt_idx, unsigned lang_mask, v
 
   /* 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;