summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2010-12-17 12:21:11 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2010-12-17 12:21:11 +0000
commit166cfa3a428aaf9f0cf780461b4c21aea45eb905 (patch)
tree0b4da55423643ddcdd6d52946ffbae8fdee67984 /clang/lib/Sema/SemaDecl.cpp
parente5f49c4ff2578e57c2653f19e337b21a858fae7a (diff)
downloadbcm5719-llvm-166cfa3a428aaf9f0cf780461b4c21aea45eb905.tar.gz
bcm5719-llvm-166cfa3a428aaf9f0cf780461b4c21aea45eb905.zip
Avoid to emit redundant implicit cast for enum constants init expressions.
llvm-svn: 122056
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 3f94bdc6697..5fb5cbaa450 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -7745,7 +7745,7 @@ void Sema::ActOnEnumBody(SourceLocation EnumLoc, SourceLocation LBraceLoc,
ECD->setInitVal(InitVal);
// Adjust the Expr initializer and type.
- if (ECD->getInitExpr())
+ if (ECD->getInitExpr() && NewTy != ECD->getInitExpr()->getType())
ECD->setInitExpr(ImplicitCastExpr::Create(Context, NewTy,
CK_IntegralCast,
ECD->getInitExpr(),
OpenPOWER on IntegriCloud