summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-22 02:10:53 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-22 02:10:53 +0000
commit463e523ad82b465164000fc5e6582191a67408e7 (patch)
treea54bd0bf295ae4c82e47ea7df9a954dd9c4954e0 /clang/lib/Sema/SemaInit.cpp
parent919b7aab2ee7e58d25930a915116c048be4f820f (diff)
downloadbcm5719-llvm-463e523ad82b465164000fc5e6582191a67408e7.tar.gz
bcm5719-llvm-463e523ad82b465164000fc5e6582191a67408e7.zip
Switch file-scope assignment initialization over to InitializationSequence.
llvm-svn: 91881
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r--clang/lib/Sema/SemaInit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 3ff25883565..c7a2769c448 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -3201,8 +3201,12 @@ InitializationSequence::Perform(Sema &S,
return S.Owned((Expr *)0);
QualType DestType = Entity.getType().getType().getNonReferenceType();
+ // FIXME: Ugly hack around the fact that Entity.getType().getType() is not
+ // the same as Entity.getDecl()->getType() in cases involving type merging,
+ // and we want latter when it makes sense.
if (ResultType)
- *ResultType = Entity.getType().getType();
+ *ResultType = Entity.getDecl() ? Entity.getDecl()->getType() :
+ Entity.getType().getType();
Sema::OwningExprResult CurInit = S.Owned((Expr *)0);
OpenPOWER on IntegriCloud