summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-07-17 18:00:08 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-07-17 18:00:08 +0000
commit268fec1e2ea4833deeecaa594bd9ae726dcd545f (patch)
treefd3df0d770674dc241c1c1a64073b8dafcecbd54 /clang/lib/Sema/SemaExpr.cpp
parent6ca05ebd5021e7c684c80e663c69e92591a54e57 (diff)
downloadbcm5719-llvm-268fec1e2ea4833deeecaa594bd9ae726dcd545f.tar.gz
bcm5719-llvm-268fec1e2ea4833deeecaa594bd9ae726dcd545f.zip
Issue warning when assigning out-of-range integer values to enums.
Due to performance cost, this is an opt-in option placed under -Wassign-enum. // rdar://11824807 llvm-svn: 160382
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 34fb9d06a7a..915663e6221 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -9617,7 +9617,10 @@ bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy,
bool MayHaveFunctionDiff = false;
switch (ConvTy) {
- case Compatible: return false;
+ case Compatible:
+ DiagnoseAssignmentEnum(DstType, SrcType, SrcExpr);
+ return false;
+
case PointerToInt:
DiagKind = diag::ext_typecheck_convert_pointer_int;
ConvHints.tryToFixConversion(SrcExpr, SrcType, DstType, *this);
OpenPOWER on IntegriCloud