summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-10-20 07:53:17 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-10-20 07:53:17 +0000
commite38da03f589901b08c800633e3077af528a9d4d8 (patch)
treebdc8ed0c3defe4f893d4e5858378f05513e3d2e5 /clang/lib/Sema/SemaExprCXX.cpp
parent673c9d901882211602c5167877f750cf74465763 (diff)
downloadbcm5719-llvm-e38da03f589901b08c800633e3077af528a9d4d8.tar.gz
bcm5719-llvm-e38da03f589901b08c800633e3077af528a9d4d8.zip
Work around MSVC rejects-valid. Apparenty (some versions of) MSVC will check
that a member is default-initializable even if it's initialized by a default member initializer. llvm-svn: 284701
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 96e1b24de89..b660bd34865 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -5696,21 +5696,20 @@ QualType Sema::FindCompositePointerType(SourceLocation Loc,
struct Conversion {
Sema &S;
- SourceLocation Loc;
Expr *&E1, *&E2;
QualType Composite;
- InitializedEntity Entity =
- InitializedEntity::InitializeTemporary(Composite);
- InitializationKind Kind =
- InitializationKind::CreateCopy(Loc, SourceLocation());
+ InitializedEntity Entity;
+ InitializationKind Kind;
InitializationSequence E1ToC, E2ToC;
- bool Viable = E1ToC && E2ToC;
+ bool Viable;
Conversion(Sema &S, SourceLocation Loc, Expr *&E1, Expr *&E2,
QualType Composite)
- : S(S), Loc(Loc), E1(E1), E2(E2), Composite(Composite),
- E1ToC(S, Entity, Kind, E1), E2ToC(S, Entity, Kind, E2) {
- }
+ : S(S), E1(E1), E2(E2), Composite(Composite),
+ Entity(InitializedEntity::InitializeTemporary(Composite)),
+ Kind(InitializationKind::CreateCopy(Loc, SourceLocation())),
+ E1ToC(S, Entity, Kind, E1), E2ToC(S, Entity, Kind, E2),
+ Viable(E1ToC && E2ToC) {}
QualType perform() {
ExprResult E1Result = E1ToC.Perform(S, Entity, Kind, E1);
OpenPOWER on IntegriCloud