diff options
author | Chad Rosier <mcrosier@apple.com> | 2013-01-29 23:31:22 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2013-01-29 23:31:22 +0000 |
commit | ae229d599b8ccf5475fbdf2459fc54f2cce3dec7 (patch) | |
tree | 29d57285b3689ce43fe6d800e68e6a2caea116a6 /clang/lib/Frontend | |
parent | 01edb9d7d1888604e1b46183a2e82c1c7142d379 (diff) | |
download | bcm5719-llvm-ae229d599b8ccf5475fbdf2459fc54f2cce3dec7.tar.gz bcm5719-llvm-ae229d599b8ccf5475fbdf2459fc54f2cce3dec7.zip |
[ubsan] Implement the -fcatch-undefined-behavior flag using a trapping
implementation; this is much more inline with the original implementation
(i.e., pre-ubsan) and does not require run-time library support.
The trapping implementation can be invoked using either '-fcatch-undefined-behavior'
or '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error', with the latter
being preferred. Eventually, the -fcatch-undefined-behavior' flag will be removed.
llvm-svn: 173848
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index b200637cb57..245de3416f5 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -392,6 +392,8 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK, Args.hasArg(OPT_fsanitize_memory_track_origins); Opts.SanitizeAddressZeroBaseShadow = Args.hasArg(OPT_fsanitize_address_zero_base_shadow); + Opts.SanitizeUndefinedTrapOnError = + Args.hasArg(OPT_fsanitize_undefined_trap_on_error); Opts.SSPBufferSize = Args.getLastArgIntValue(OPT_stack_protector_buffer_size, 8, Diags); Opts.StackRealignment = Args.hasArg(OPT_mstackrealign); |