Author: rsmith Date: Thu Oct 20 02:53:17 2016 New Revision: 284701 URL: http://llvm.org/viewvc/llvm-project?rev=284701&view=rev Log: 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.
Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprCXX.cpp?rev=284701&r1=284700&r2=284701&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original) +++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Thu Oct 20 02:53:17 2016 @@ -5696,21 +5696,20 @@ QualType Sema::FindCompositePointerType( 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); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits