]> granicus.if.org Git - clang/commitdiff
Remove all references to InitializationSequence::FailedSequence from outside SemaInit...
authorSebastian Redl <sebastian.redl@getdesigned.at>
Sun, 5 Jun 2011 12:23:28 +0000 (12:23 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Sun, 5 Jun 2011 12:23:28 +0000 (12:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132664 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Initialization.h
lib/Sema/SemaCXXCast.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaStmt.cpp

index b64a63fb69229d1f254c8469735c6b89381f5c65..3aee66c89f1b7fa5be9b7547497323654e074aec 100644 (file)
@@ -699,6 +699,9 @@ public:
   
   /// \brief Determine whether the initialization sequence is valid.
   operator bool() const { return SequenceKind != FailedSequence; }
+
+  /// \brief Determine whether the initialization sequence is invalid.
+  bool Failed() const { return SequenceKind == FailedSequence; }
   
   typedef llvm::SmallVector<Step, 4>::const_iterator step_iterator;
   step_iterator step_begin() const { return Steps.begin(); }
index 32fd0be375ef9ede5d7df7a254bde5cac36b2611..e46ad5bcfeb5564e96abbea608373741871f4de3 100644 (file)
@@ -252,8 +252,7 @@ static bool tryDiagnoseOverloadedCast(Sema &S, CastType CT,
                                      (CT == CT_CStyle || CT == CT_Functional));
   InitializationSequence sequence(S, entity, initKind, &src, 1);
 
-  assert(sequence.getKind() == InitializationSequence::FailedSequence &&
-         "initialization succeeded on second try?");
+  assert(sequence.Failed() && "initialization succeeded on second try?");
   switch (sequence.getFailureKind()) {
   default: return false;
 
@@ -1195,8 +1194,7 @@ TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
   // On the other hand, if we're checking a C-style cast, we've still got
   // the reinterpret_cast way.
   
-  if (InitSeq.getKind() == InitializationSequence::FailedSequence && 
-    (CStyle || !DestType->isReferenceType()))
+  if (InitSeq.Failed() && (CStyle || !DestType->isReferenceType()))
     return TC_NotApplicable;
     
   ExprResult Result
index 2fd4cf58cad6d070f03b4bee08711c4b163fb8c3..18a73666b3820e28cfe228f1e5175ef9860f026c 100644 (file)
@@ -3350,7 +3350,7 @@ bool Sema::ShouldDeleteDefaultConstructor(CXXConstructorDecl *CD) {
 
     InitializationSequence InitSeq(*this, BaseEntity, Kind, 0, 0);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
@@ -3380,7 +3380,7 @@ bool Sema::ShouldDeleteDefaultConstructor(CXXConstructorDecl *CD) {
 
     InitializationSequence InitSeq(*this, BaseEntity, Kind, 0, 0);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
@@ -3462,7 +3462,7 @@ bool Sema::ShouldDeleteDefaultConstructor(CXXConstructorDecl *CD) {
     
     InitializationSequence InitSeq(*this, MemberEntity, Kind, 0, 0);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
@@ -3537,7 +3537,7 @@ bool Sema::ShouldDeleteCopyConstructor(CXXConstructorDecl *CD) {
 
     InitializationSequence InitSeq(*this, BaseEntity, Kind, &Arg, 1);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
@@ -3574,7 +3574,7 @@ bool Sema::ShouldDeleteCopyConstructor(CXXConstructorDecl *CD) {
 
     InitializationSequence InitSeq(*this, BaseEntity, Kind, &Arg, 1);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
@@ -3651,7 +3651,7 @@ bool Sema::ShouldDeleteCopyConstructor(CXXConstructorDecl *CD) {
    
     InitializationSequence InitSeq(*this, Entities.back(), Kind, &Arg, 1);
 
-    if (InitSeq.getKind() == InitializationSequence::FailedSequence)
+    if (InitSeq.Failed())
       return true;
   }
 
index 3631fcff53d5198d939da9ad4e23e426c2b1812e..af30061e28a197686811d3c4ce459d7851be8281 100644 (file)
@@ -2889,7 +2889,7 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, BinaryTypeTrait BTT,
     Sema::SFINAETrap SFINAE(Self, /*AccessCheckingSFINAE=*/true);
     Sema::ContextRAII TUContext(Self, Self.Context.getTranslationUnitDecl());
     InitializationSequence Init(Self, To, Kind, &FromPtr, 1);
-    if (Init.getKind() == InitializationSequence::FailedSequence)
+    if (Init.Failed())
       return false;
 
     ExprResult Result = Init.Perform(Self, To, Kind, MultiExprArg(&FromPtr, 1));
@@ -3250,7 +3250,7 @@ static bool TryClassUnification(Sema &Self, Expr *From, Expr *To,
       if (TTy.isAtLeastAsQualifiedAs(FTy)) {
         InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
         InitializationSequence InitSeq(Self, Entity, Kind, &From, 1);
-        if (InitSeq.getKind() != InitializationSequence::FailedSequence) {
+        if (InitSeq) {
           HaveConversion = true;
           return false;
         }
@@ -3275,7 +3275,7 @@ static bool TryClassUnification(Sema &Self, Expr *From, Expr *To,
 
   InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
   InitializationSequence InitSeq(Self, Entity, Kind, &From, 1);
-  HaveConversion = InitSeq.getKind() != InitializationSequence::FailedSequence;
+  HaveConversion = !InitSeq.Failed();
   ToType = TTy;
   if (InitSeq.isAmbiguous())
     return InitSeq.Diagnose(Self, Entity, Kind, &From, 1);
index cfa8f33fad4a0582f8103a21fa041dd1f15f5d65..d9ceb352b7ce6f15074b5c0649b2bf2e87fc62df 100644 (file)
@@ -4735,7 +4735,7 @@ Sema::CanPerformCopyInitialization(const InitializedEntity &Entity,
   InitializationKind Kind = InitializationKind::CreateCopy(SourceLocation(),
                                                            SourceLocation());
   InitializationSequence Seq(*this, Entity, Kind, &InitE, 1);
-  return Seq.getKind() != InitializationSequence::FailedSequence;
+  return !Seq.Failed();
 }
 
 ExprResult
index d3a22cdbb98c008a7b8ee7b583409690b91c5fbd..d4fc980e2289669d89debaba8430e6c6752d6780 100644 (file)
@@ -1531,12 +1531,11 @@ Sema::PerformMoveOrCopyInitialization(const InitializedEntity &Entity,
     //   parameter of the selected constructor is not an rvalue reference
     //   to the object's type (possibly cv-qualified), overload resolution
     //   is performed again, considering the object as an lvalue.
-    if (Seq.getKind() != InitializationSequence::FailedSequence) {
+    if (Seq) {
       for (InitializationSequence::step_iterator Step = Seq.step_begin(),
            StepEnd = Seq.step_end();
            Step != StepEnd; ++Step) {
-        if (Step->Kind
-            != InitializationSequence::SK_ConstructorInitialization)
+        if (Step->Kind != InitializationSequence::SK_ConstructorInitialization)
           continue;
 
         CXXConstructorDecl *Constructor