summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-cc')
-rw-r--r--clang/tools/clang-cc/clang-cc.cpp10
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.
OpenPOWER on IntegriCloud