summaryrefslogtreecommitdiff
path: root/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2016-10-10 21:31:50 +0000
committerVitaly Buka <vitalybuka@google.com>2016-10-10 21:31:50 +0000
commit53aae7cc7e7397bf54c81ef693bc878a2e8ab7f2 (patch)
treefcc1cfc8a28e7ef0bb109d9a0f5e4bb9e0f575fe /lib/Frontend/CompilerInvocation.cpp
parente5f62e81c2245a5ad26be6efa5b4e5855064c1ee (diff)
downloadclang-53aae7cc7e7397bf54c81ef693bc878a2e8ab7f2.tar.gz
Add -fno-sanitize-address-use-after-scope flag
Reviewers: eugenis Differential Revision: https://reviews.llvm.org/D25453 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283801 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--lib/Frontend/CompilerInvocation.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index cf39f35701..4d331c6a1d 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -732,8 +732,11 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
Args.hasArg(OPT_fsanitize_memory_use_after_dtor);
Opts.SanitizeCfiCrossDso = Args.hasArg(OPT_fsanitize_cfi_cross_dso);
Opts.SanitizeStats = Args.hasArg(OPT_fsanitize_stats);
- Opts.SanitizeAddressUseAfterScope =
- Args.hasArg(OPT_fsanitize_address_use_after_scope);
+ if (Arg *A = Args.getLastArg(OPT_fsanitize_address_use_after_scope,
+ OPT_fno_sanitize_address_use_after_scope)) {
+ Opts.SanitizeAddressUseAfterScope =
+ A->getOption().getID() == OPT_fsanitize_address_use_after_scope;
+ }
Opts.SSPBufferSize =
getLastArgIntValue(Args, OPT_stack_protector_buffer_size, 8, Diags);
Opts.StackRealignment = Args.hasArg(OPT_mstackrealign);