@@ -1028,10 +1028,6 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
10281028 StableABI = Args.hasFlag (options::OPT_fsanitize_stable_abi,
10291029 options::OPT_fno_sanitize_stable_abi, false );
10301030
1031- AsanUseAfterScope = Args.hasFlag (
1032- options::OPT_fsanitize_address_use_after_scope,
1033- options::OPT_fno_sanitize_address_use_after_scope, AsanUseAfterScope);
1034-
10351031 AsanPoisonCustomArrayCookie = Args.hasFlag (
10361032 options::OPT_fsanitize_address_poison_custom_array_cookie,
10371033 options::OPT_fno_sanitize_address_poison_custom_array_cookie,
@@ -1093,7 +1089,6 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
10931089 }
10941090
10951091 } else {
1096- AsanUseAfterScope = false ;
10971092 // -fsanitize=pointer-compare/pointer-subtract requires -fsanitize=address.
10981093 SanitizerMask DetectInvalidPointerPairs =
10991094 SanitizerKind::PointerCompare | SanitizerKind::PointerSubtract;
@@ -1107,6 +1102,14 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
11071102 }
11081103 }
11091104
1105+ if (AllAddedKinds & (SanitizerKind::Address | SanitizerKind::KernelAddress)) {
1106+ AsanUseAfterScope = Args.hasFlag (
1107+ options::OPT_fsanitize_address_use_after_scope,
1108+ options::OPT_fno_sanitize_address_use_after_scope, AsanUseAfterScope);
1109+ } else {
1110+ AsanUseAfterScope = false ;
1111+ }
1112+
11101113 if (AllAddedKinds & SanitizerKind::HWAddress) {
11111114 if (Arg *HwasanAbiArg =
11121115 Args.getLastArg (options::OPT_fsanitize_hwaddress_abi_EQ)) {
0 commit comments