Re: r300122 - [clang-cl] Make all sanitizer flags available in clang-cl

2017-04-13 Thread Akira Hatanaka via cfe-commits

> On Apr 13, 2017, at 9:50 AM, Reid Kleckner  wrote:
> 
> Fixed in r300209. Was the -Wslash-u-filename warning not explanatory enough 
> to suggest the solution? Maybe we could add a note like "escape source paths 
> starting with /U by passing them at the end of the command line after —".

Ah, I see, I didn’t think it was correlated. I could have figured it out if I 
had read the warnings more carefully, but I think a note like the one you 
suggested would have been clearer.

> /Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c:113:27:
>  error: expected string not found in input
> // CHECK-USE-AFTER-SCOPE: -cc1{{.*}}-fsanitize-address-use-after-scope
>   ^
> :1:1: note: scanning from here
> clang-5.0: warning: unknown argument ignored in clang-cl: '-target' 
> [-Wunknown-argument]
> ^
> :7:89: note: possible intended match here
> clang-5.0: warning: 
> '/Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c'
>  treated as the '/U' option [-Wslash-u-filename]
> 
> On Thu, Apr 13, 2017 at 1:12 AM, Akira Hatanaka  > wrote:
> I’m afraid I have to revert this to turn the bots green again.
> 
>> On Apr 12, 2017, at 10:41 PM, Akira Hatanaka via cfe-commits 
>> > wrote:
>> 
>> I think this broke some of the bots.
>> 
>> http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152/ 
>> 
>> 
>> Could you take a look?
>>  
>>> On Apr 12, 2017, at 3:50 PM, Reid Kleckner via cfe-commits 
>>> > wrote:
>>> 
>>> Author: rnk
>>> Date: Wed Apr 12 17:50:51 2017
>>> New Revision: 300122
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=300122=rev 
>>> 
>>> Log:
>>> [clang-cl] Make all sanitizer flags available in clang-cl
>>> 
>>> Summary:
>>> Use a tablegen let {} block so that new sanitizer flags are available by
>>> default in all driver modes. This should cut down on time wasted with
>>> bugs like http://crbug.com/710928 .
>>> 
>>> Reviewers: vitalybuka, hans
>>> 
>>> Subscribers: kcc, llvm-commits
>>> 
>>> Differential Revision: https://reviews.llvm.org/D31988 
>>> 
>>> 
>>> Modified:
>>>cfe/trunk/include/clang/Driver/Options.td
>>>cfe/trunk/test/Driver/fsanitize.c
>>> 
>>> Modified: cfe/trunk/include/clang/Driver/Options.td
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=300122=300121=300122=diff
>>>  
>>> 
>>> ==
>>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>>> +++ cfe/trunk/include/clang/Driver/Options.td Wed Apr 12 17:50:51 2017
>>> @@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn
>>> def fjump_tables : Flag<["-"], "fjump-tables">, Group;
>>> def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group, 
>>> Flags<[CC1Option]>,
>>>   HelpText<"Do not use jump tables for lowering switches">;
>>> +
>>> +// Begin sanitizer flags. These should all be core options exposed in all 
>>> driver
>>> +// modes.
>>> +let Flags = [CC1Option, CoreOption] in {
>>> +
>>> def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group,
>>> -   Flags<[CC1Option, CoreOption]>, MetaVarName<"">,
>>> +   MetaVarName<"">,
>>>HelpText<"Turn on runtime checks for various forms of 
>>> undefined "
>>> "or suspicious behavior. See user manual for 
>>> available checks">;
>>> def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, 
>>> Group,
>>> -  Flags<[CoreOption]>;
>>> +  Flags<[CoreOption, DriverOption]>;
>>> def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
>>> -  Group, Flags<[CC1Option, 
>>> CoreOption]>,
>>> +  Group,
>>>   HelpText<"Path to blacklist file for sanitizers">;
>>> def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,
>>>  Group,
>>>  HelpText<"Don't use blacklist file for 
>>> sanitizers">;
>>> def fsanitize_coverage
>>> : CommaJoined<["-"], "fsanitize-coverage=">,
>>> -  Group, Flags<[CoreOption]>,
>>> +  Group,
>>>   HelpText<"Specify the type of coverage instrumentation for 
>>> Sanitizers">;
>>> def fno_sanitize_coverage
>>> : CommaJoined<["-"], "fno-sanitize-coverage=">,
>>> -  Group, Flags<[CoreOption]>,
>>> +  Group, Flags<[CoreOption, DriverOption]>,
>>>   

Re: r300122 - [clang-cl] Make all sanitizer flags available in clang-cl

2017-04-13 Thread Reid Kleckner via cfe-commits
Fixed in r300209. Was the -Wslash-u-filename warning not explanatory enough
to suggest the solution? Maybe we could add a note like "escape source
paths starting with /U by passing them at the end of the command line after
--".

/Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c:113:27:
error: expected string not found in input
// CHECK-USE-AFTER-SCOPE: -cc1{{.*}}-fsanitize-address-use-after-scope
  ^
:1:1: note: scanning from here
clang-5.0: warning: unknown argument ignored in clang-cl: '-target'
[-Wunknown-argument]
^
:7:89: note: possible intended match here
clang-5.0: warning:
'/Users/buildslave/jenkins/sharedspace/phase1@2/llvm/tools/clang/test/Driver/fsanitize.c'
treated as the '/U' option [-Wslash-u-filename]

On Thu, Apr 13, 2017 at 1:12 AM, Akira Hatanaka  wrote:

> I’m afraid I have to revert this to turn the bots green again.
>
> On Apr 12, 2017, at 10:41 PM, Akira Hatanaka via cfe-commits <
> cfe-commits@lists.llvm.org> wrote:
>
> I think this broke some of the bots.
>
> http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152/
>
> Could you take a look?
>
>
> On Apr 12, 2017, at 3:50 PM, Reid Kleckner via cfe-commits <
> cfe-commits@lists.llvm.org> wrote:
>
> Author: rnk
> Date: Wed Apr 12 17:50:51 2017
> New Revision: 300122
>
> URL: http://llvm.org/viewvc/llvm-project?rev=300122=rev
> Log:
> [clang-cl] Make all sanitizer flags available in clang-cl
>
> Summary:
> Use a tablegen let {} block so that new sanitizer flags are available by
> default in all driver modes. This should cut down on time wasted with
> bugs like http://crbug.com/710928.
>
> Reviewers: vitalybuka, hans
>
> Subscribers: kcc, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D31988
>
> Modified:
>cfe/trunk/include/clang/Driver/Options.td
>cfe/trunk/test/Driver/fsanitize.c
>
> Modified: cfe/trunk/include/clang/Driver/Options.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/
> clang/Driver/Options.td?rev=300122=300121=300122=diff
> 
> ==
> --- cfe/trunk/include/clang/Driver/Options.td (original)
> +++ cfe/trunk/include/clang/Driver/Options.td Wed Apr 12 17:50:51 2017
> @@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn
> def fjump_tables : Flag<["-"], "fjump-tables">, Group;
> def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group,
> Flags<[CC1Option]>,
>   HelpText<"Do not use jump tables for lowering switches">;
> +
> +// Begin sanitizer flags. These should all be core options exposed in all
> driver
> +// modes.
> +let Flags = [CC1Option, CoreOption] in {
> +
> def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group,
> -   Flags<[CC1Option, CoreOption]>,
> MetaVarName<"">,
> +   MetaVarName<"">,
>HelpText<"Turn on runtime checks for various forms of
> undefined "
> "or suspicious behavior. See user manual for
> available checks">;
> def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">,
> Group,
> -  Flags<[CoreOption]>;
> +  Flags<[CoreOption, DriverOption]>;
> def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
> -  Group, Flags<[CC1Option,
> CoreOption]>,
> +  Group,
>   HelpText<"Path to blacklist file for
> sanitizers">;
> def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,
>  Group,
>  HelpText<"Don't use blacklist file for
> sanitizers">;
> def fsanitize_coverage
> : CommaJoined<["-"], "fsanitize-coverage=">,
> -  Group, Flags<[CoreOption]>,
> +  Group,
>   HelpText<"Specify the type of coverage instrumentation for
> Sanitizers">;
> def fno_sanitize_coverage
> : CommaJoined<["-"], "fno-sanitize-coverage=">,
> -  Group, Flags<[CoreOption]>,
> +  Group, Flags<[CoreOption, DriverOption]>,
>   HelpText<"Disable specified features of coverage instrumentation for
> "
>"Sanitizers">;
> def fsanitize_memory_track_origins_EQ : Joined<["-"],
> "fsanitize-memory-track-origins=">,
> -Group,
> Flags<[CC1Option]>,
> +Group,
> HelpText<"Enable origins tracking
> in MemorySanitizer">;
> def fsanitize_memory_track_origins : Flag<["-"], "fsanitize-memory-track-
> origins">,
> - Group,
> Flags<[CC1Option]>,
> + Group,
>  HelpText<"Enable origins tracking in
> MemorySanitizer">;
> def fno_sanitize_memory_track_origins : Flag<["-"],
> "fno-sanitize-memory-track-origins">,
> -Group,
> Flags<[CC1Option]>,
> +   

Re: r300122 - [clang-cl] Make all sanitizer flags available in clang-cl

2017-04-13 Thread Akira Hatanaka via cfe-commits
I’m afraid I have to revert this to turn the bots green again.

> On Apr 12, 2017, at 10:41 PM, Akira Hatanaka via cfe-commits 
>  wrote:
> 
> I think this broke some of the bots.
> 
> http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152/ 
> 
> 
> Could you take a look?
>  
>> On Apr 12, 2017, at 3:50 PM, Reid Kleckner via cfe-commits 
>> > wrote:
>> 
>> Author: rnk
>> Date: Wed Apr 12 17:50:51 2017
>> New Revision: 300122
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=300122=rev 
>> 
>> Log:
>> [clang-cl] Make all sanitizer flags available in clang-cl
>> 
>> Summary:
>> Use a tablegen let {} block so that new sanitizer flags are available by
>> default in all driver modes. This should cut down on time wasted with
>> bugs like http://crbug.com/710928 .
>> 
>> Reviewers: vitalybuka, hans
>> 
>> Subscribers: kcc, llvm-commits
>> 
>> Differential Revision: https://reviews.llvm.org/D31988 
>> 
>> 
>> Modified:
>>cfe/trunk/include/clang/Driver/Options.td
>>cfe/trunk/test/Driver/fsanitize.c
>> 
>> Modified: cfe/trunk/include/clang/Driver/Options.td
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=300122=300121=300122=diff
>>  
>> 
>> ==
>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>> +++ cfe/trunk/include/clang/Driver/Options.td Wed Apr 12 17:50:51 2017
>> @@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn
>> def fjump_tables : Flag<["-"], "fjump-tables">, Group;
>> def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group, 
>> Flags<[CC1Option]>,
>>   HelpText<"Do not use jump tables for lowering switches">;
>> +
>> +// Begin sanitizer flags. These should all be core options exposed in all 
>> driver
>> +// modes.
>> +let Flags = [CC1Option, CoreOption] in {
>> +
>> def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group,
>> -   Flags<[CC1Option, CoreOption]>, MetaVarName<"">,
>> +   MetaVarName<"">,
>>HelpText<"Turn on runtime checks for various forms of 
>> undefined "
>> "or suspicious behavior. See user manual for 
>> available checks">;
>> def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, 
>> Group,
>> -  Flags<[CoreOption]>;
>> +  Flags<[CoreOption, DriverOption]>;
>> def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
>> -  Group, Flags<[CC1Option, 
>> CoreOption]>,
>> +  Group,
>>   HelpText<"Path to blacklist file for sanitizers">;
>> def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,
>>  Group,
>>  HelpText<"Don't use blacklist file for 
>> sanitizers">;
>> def fsanitize_coverage
>> : CommaJoined<["-"], "fsanitize-coverage=">,
>> -  Group, Flags<[CoreOption]>,
>> +  Group,
>>   HelpText<"Specify the type of coverage instrumentation for 
>> Sanitizers">;
>> def fno_sanitize_coverage
>> : CommaJoined<["-"], "fno-sanitize-coverage=">,
>> -  Group, Flags<[CoreOption]>,
>> +  Group, Flags<[CoreOption, DriverOption]>,
>>   HelpText<"Disable specified features of coverage instrumentation for "
>>"Sanitizers">;
>> def fsanitize_memory_track_origins_EQ : Joined<["-"], 
>> "fsanitize-memory-track-origins=">,
>> -Group, 
>> Flags<[CC1Option]>,
>> +Group,
>> HelpText<"Enable origins tracking in 
>> MemorySanitizer">;
>> def fsanitize_memory_track_origins : Flag<["-"], 
>> "fsanitize-memory-track-origins">,
>> - Group, 
>> Flags<[CC1Option]>,
>> + Group,
>>  HelpText<"Enable origins tracking in 
>> MemorySanitizer">;
>> def fno_sanitize_memory_track_origins : Flag<["-"], 
>> "fno-sanitize-memory-track-origins">,
>> -Group, 
>> Flags<[CC1Option]>,
>> +Group,
>> +Flags<[CoreOption, DriverOption]>,
>> HelpText<"Disable origins tracking 
>> in MemorySanitizer">;
>> def fsanitize_memory_use_after_dtor : Flag<["-"], 
>> "fsanitize-memory-use-after-dtor">,
>> - Group, 
>> Flags<[CC1Option]>,
>> + 

Re: r300122 - [clang-cl] Make all sanitizer flags available in clang-cl

2017-04-12 Thread Akira Hatanaka via cfe-commits
I think this broke some of the bots.

http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152/ 


Could you take a look?
 
> On Apr 12, 2017, at 3:50 PM, Reid Kleckner via cfe-commits 
>  wrote:
> 
> Author: rnk
> Date: Wed Apr 12 17:50:51 2017
> New Revision: 300122
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=300122=rev
> Log:
> [clang-cl] Make all sanitizer flags available in clang-cl
> 
> Summary:
> Use a tablegen let {} block so that new sanitizer flags are available by
> default in all driver modes. This should cut down on time wasted with
> bugs like http://crbug.com/710928.
> 
> Reviewers: vitalybuka, hans
> 
> Subscribers: kcc, llvm-commits
> 
> Differential Revision: https://reviews.llvm.org/D31988
> 
> Modified:
>cfe/trunk/include/clang/Driver/Options.td
>cfe/trunk/test/Driver/fsanitize.c
> 
> Modified: cfe/trunk/include/clang/Driver/Options.td
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=300122=300121=300122=diff
> ==
> --- cfe/trunk/include/clang/Driver/Options.td (original)
> +++ cfe/trunk/include/clang/Driver/Options.td Wed Apr 12 17:50:51 2017
> @@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn
> def fjump_tables : Flag<["-"], "fjump-tables">, Group;
> def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group, 
> Flags<[CC1Option]>,
>   HelpText<"Do not use jump tables for lowering switches">;
> +
> +// Begin sanitizer flags. These should all be core options exposed in all 
> driver
> +// modes.
> +let Flags = [CC1Option, CoreOption] in {
> +
> def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group,
> -   Flags<[CC1Option, CoreOption]>, MetaVarName<"">,
> +   MetaVarName<"">,
>HelpText<"Turn on runtime checks for various forms of 
> undefined "
> "or suspicious behavior. See user manual for 
> available checks">;
> def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, 
> Group,
> -  Flags<[CoreOption]>;
> +  Flags<[CoreOption, DriverOption]>;
> def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
> -  Group, Flags<[CC1Option, 
> CoreOption]>,
> +  Group,
>   HelpText<"Path to blacklist file for sanitizers">;
> def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,
>  Group,
>  HelpText<"Don't use blacklist file for 
> sanitizers">;
> def fsanitize_coverage
> : CommaJoined<["-"], "fsanitize-coverage=">,
> -  Group, Flags<[CoreOption]>,
> +  Group,
>   HelpText<"Specify the type of coverage instrumentation for Sanitizers">;
> def fno_sanitize_coverage
> : CommaJoined<["-"], "fno-sanitize-coverage=">,
> -  Group, Flags<[CoreOption]>,
> +  Group, Flags<[CoreOption, DriverOption]>,
>   HelpText<"Disable specified features of coverage instrumentation for "
>"Sanitizers">;
> def fsanitize_memory_track_origins_EQ : Joined<["-"], 
> "fsanitize-memory-track-origins=">,
> -Group, 
> Flags<[CC1Option]>,
> +Group,
> HelpText<"Enable origins tracking in 
> MemorySanitizer">;
> def fsanitize_memory_track_origins : Flag<["-"], 
> "fsanitize-memory-track-origins">,
> - Group, 
> Flags<[CC1Option]>,
> + Group,
>  HelpText<"Enable origins tracking in 
> MemorySanitizer">;
> def fno_sanitize_memory_track_origins : Flag<["-"], 
> "fno-sanitize-memory-track-origins">,
> -Group, 
> Flags<[CC1Option]>,
> +Group,
> +Flags<[CoreOption, DriverOption]>,
> HelpText<"Disable origins tracking in 
> MemorySanitizer">;
> def fsanitize_memory_use_after_dtor : Flag<["-"], 
> "fsanitize-memory-use-after-dtor">,
> - Group, 
> Flags<[CC1Option]>,
> + Group,
>  HelpText<"Enable use-after-destroy 
> detection in MemorySanitizer">;
> def fsanitize_address_field_padding : Joined<["-"], 
> "fsanitize-address-field-padding=">,
> -Group, 
> Flags<[CC1Option]>,
> +Group,
> HelpText<"Level of field padding for 
> AddressSanitizer">;
> def fsanitize_address_use_after_scope : Flag<["-"], 
> "fsanitize-address-use-after-scope">,
> -  

r300122 - [clang-cl] Make all sanitizer flags available in clang-cl

2017-04-12 Thread Reid Kleckner via cfe-commits
Author: rnk
Date: Wed Apr 12 17:50:51 2017
New Revision: 300122

URL: http://llvm.org/viewvc/llvm-project?rev=300122=rev
Log:
[clang-cl] Make all sanitizer flags available in clang-cl

Summary:
Use a tablegen let {} block so that new sanitizer flags are available by
default in all driver modes. This should cut down on time wasted with
bugs like http://crbug.com/710928.

Reviewers: vitalybuka, hans

Subscribers: kcc, llvm-commits

Differential Revision: https://reviews.llvm.org/D31988

Modified:
cfe/trunk/include/clang/Driver/Options.td
cfe/trunk/test/Driver/fsanitize.c

Modified: cfe/trunk/include/clang/Driver/Options.td
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=300122=300121=300122=diff
==
--- cfe/trunk/include/clang/Driver/Options.td (original)
+++ cfe/trunk/include/clang/Driver/Options.td Wed Apr 12 17:50:51 2017
@@ -778,65 +778,71 @@ def fno_signaling_math : Flag<["-"], "fn
 def fjump_tables : Flag<["-"], "fjump-tables">, Group;
 def fno_jump_tables : Flag<["-"], "fno-jump-tables">, Group, 
Flags<[CC1Option]>,
   HelpText<"Do not use jump tables for lowering switches">;
+
+// Begin sanitizer flags. These should all be core options exposed in all 
driver
+// modes.
+let Flags = [CC1Option, CoreOption] in {
+
 def fsanitize_EQ : CommaJoined<["-"], "fsanitize=">, Group,
-   Flags<[CC1Option, CoreOption]>, MetaVarName<"">,
+   MetaVarName<"">,
HelpText<"Turn on runtime checks for various forms of 
undefined "
 "or suspicious behavior. See user manual for 
available checks">;
 def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, 
Group,
-  Flags<[CoreOption]>;
+  Flags<[CoreOption, DriverOption]>;
 def fsanitize_blacklist : Joined<["-"], "fsanitize-blacklist=">,
-  Group, Flags<[CC1Option, CoreOption]>,
+  Group,
   HelpText<"Path to blacklist file for sanitizers">;
 def fno_sanitize_blacklist : Flag<["-"], "fno-sanitize-blacklist">,
  Group,
  HelpText<"Don't use blacklist file for 
sanitizers">;
 def fsanitize_coverage
 : CommaJoined<["-"], "fsanitize-coverage=">,
-  Group, Flags<[CoreOption]>,
+  Group,
   HelpText<"Specify the type of coverage instrumentation for Sanitizers">;
 def fno_sanitize_coverage
 : CommaJoined<["-"], "fno-sanitize-coverage=">,
-  Group, Flags<[CoreOption]>,
+  Group, Flags<[CoreOption, DriverOption]>,
   HelpText<"Disable specified features of coverage instrumentation for "
"Sanitizers">;
 def fsanitize_memory_track_origins_EQ : Joined<["-"], 
"fsanitize-memory-track-origins=">,
-Group, 
Flags<[CC1Option]>,
+Group,
 HelpText<"Enable origins tracking in 
MemorySanitizer">;
 def fsanitize_memory_track_origins : Flag<["-"], 
"fsanitize-memory-track-origins">,
- Group, Flags<[CC1Option]>,
+ Group,
  HelpText<"Enable origins tracking in 
MemorySanitizer">;
 def fno_sanitize_memory_track_origins : Flag<["-"], 
"fno-sanitize-memory-track-origins">,
-Group, 
Flags<[CC1Option]>,
+Group,
+Flags<[CoreOption, DriverOption]>,
 HelpText<"Disable origins tracking in 
MemorySanitizer">;
 def fsanitize_memory_use_after_dtor : Flag<["-"], 
"fsanitize-memory-use-after-dtor">,
- Group, Flags<[CC1Option]>,
+ Group,
  HelpText<"Enable use-after-destroy 
detection in MemorySanitizer">;
 def fsanitize_address_field_padding : Joined<["-"], 
"fsanitize-address-field-padding=">,
-Group, 
Flags<[CC1Option]>,
+Group,
 HelpText<"Level of field padding for 
AddressSanitizer">;
 def fsanitize_address_use_after_scope : Flag<["-"], 
"fsanitize-address-use-after-scope">,
-Group, 
Flags<[CC1Option]>,
+Group,
 HelpText<"Enable use-after-scope 
detection in AddressSanitizer">;
 def fno_sanitize_address_use_after_scope : Flag<["-"], 
"fno-sanitize-address-use-after-scope">,
-   Group, 
Flags<[CC1Option]>,
+   Group,
+   Flags<[CoreOption,