aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-19 22:33:45 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-19 22:33:45 +0000
commit1d7d8d66eff7ed0f3e957d330930cc9ab8047add (patch)
tree1ada4a5795c1088b39a9f25b82be4bbe146842c2 /lib/Sema/SemaExpr.cpp
parente8c7043f6c11aa8e2420b97046f7dbcb6d7e51ab (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/Sema/SemaExpr.cpp')
-rw-r--r--lib/Sema/SemaExpr.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index f8f3e05f56..8c740dd1db 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -3707,7 +3707,7 @@ Sema::BuildCompoundLiteralExpr(SourceLocation LParenLoc, TypeSourceInfo *TInfo,
Result.release();
- return Owned(new (Context) CompoundLiteralExpr(LParenLoc, TInfo,
+ return Owned(new (Context) CompoundLiteralExpr(LParenLoc, TInfo, literalType,
literalExpr, isFileScope));
}
@@ -4718,7 +4718,7 @@ static void ConstructTransparentUnion(ASTContext &C, Expr *&E,
// Build a compound literal constructing a value of the transparent
// union type from this initializer list.
TypeSourceInfo *unionTInfo = C.getTrivialTypeSourceInfo(UnionType);
- E = new (C) CompoundLiteralExpr(SourceLocation(), unionTInfo,
+ E = new (C) CompoundLiteralExpr(SourceLocation(), unionTInfo, UnionType,
Initializer, false);
}