diff options
author | John McCall <rjmccall@apple.com> | 2010-01-19 22:33:45 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-01-19 22:33:45 +0000 |
commit | 1d7d8d66eff7ed0f3e957d330930cc9ab8047add (patch) | |
tree | 1ada4a5795c1088b39a9f25b82be4bbe146842c2 /lib/Frontend/RewriteObjC.cpp | |
parent | e8c7043f6c11aa8e2420b97046f7dbcb6d7e51ab (diff) |
The type of a compound literal expression is not necessarily the same as the
type which was syntactically written. Fixes PR 6080.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93933 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/RewriteObjC.cpp')
-rw-r--r-- | lib/Frontend/RewriteObjC.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Frontend/RewriteObjC.cpp b/lib/Frontend/RewriteObjC.cpp index 2e101f402b..c0ad799c5a 100644 --- a/lib/Frontend/RewriteObjC.cpp +++ b/lib/Frontend/RewriteObjC.cpp @@ -2516,8 +2516,8 @@ Stmt *RewriteObjC::SynthMessageExpr(ObjCMessageExpr *Exp) { SourceLocation()); TypeSourceInfo *superTInfo = Context->getTrivialTypeSourceInfo(superType); - SuperRep = new (Context) CompoundLiteralExpr(SourceLocation(), - superTInfo, ILE, false); + SuperRep = new (Context) CompoundLiteralExpr(SourceLocation(), superTInfo, + superType, ILE, false); // struct objc_super * SuperRep = new (Context) UnaryOperator(SuperRep, UnaryOperator::AddrOf, Context->getPointerType(SuperRep->getType()), @@ -2601,8 +2601,8 @@ Stmt *RewriteObjC::SynthMessageExpr(ObjCMessageExpr *Exp) { SourceLocation()); TypeSourceInfo *superTInfo = Context->getTrivialTypeSourceInfo(superType); - SuperRep = new (Context) CompoundLiteralExpr(SourceLocation(), - superTInfo, ILE, false); + SuperRep = new (Context) CompoundLiteralExpr(SourceLocation(), superTInfo, + superType, ILE, false); } MsgExprs.push_back(SuperRep); } else { |