r284701 - Work around MSVC rejects-valid. Apparenty (some versions of) MSVC will check

Richard Smith via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 20 00:53:19 PDT 2016


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);




More information about the cfe-commits mailing list