diff options
Diffstat (limited to 'clang/tools/clang-cc/clang-cc.cpp')
-rw-r--r-- | clang/tools/clang-cc/clang-cc.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp index b149a1da92b..1a7d2df7087 100644 --- a/clang/tools/clang-cc/clang-cc.cpp +++ b/clang/tools/clang-cc/clang-cc.cpp @@ -676,12 +676,18 @@ void InitializeGCMode(LangOptions &Options) { } static llvm::cl::opt<bool> +UnsignedOverflowChecking("ftrapu", + llvm::cl::desc("Trap on unsigned and signed integer overflow"), + llvm::cl::init(false)); + +static llvm::cl::opt<bool> OverflowChecking("ftrapv", - llvm::cl::desc("Trap on integer overflow"), + llvm::cl::desc("Trap on signed integer overflow"), llvm::cl::init(false)); void InitializeOverflowChecking(LangOptions &Options) { - Options.OverflowChecking = OverflowChecking; + Options.OverflowChecking = OverflowChecking | UnsignedOverflowChecking; + Options.UnsignedOverflowChecking = UnsignedOverflowChecking; } //===----------------------------------------------------------------------===// // Target Triple Processing. |