]> granicus.if.org Git - clang/commitdiff
Simplify the flow of some of the array type trait code.
authorChandler Carruth <chandlerc@gmail.com>
Sun, 1 May 2011 07:49:26 +0000 (07:49 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 1 May 2011 07:49:26 +0000 (07:49 +0000)
Completely remove a switch which selected between the same two types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130649 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExprCXX.cpp

index acbe4154cafbdb8f90e942e1e268f4e4e48a1d63..7a7aabeafe44f912ff4d0abfa031015021835cdf 100644 (file)
@@ -2996,22 +2996,13 @@ ExprResult Sema::BuildArrayTypeTrait(ArrayTypeTrait ATT,
                                      Expr* DimExpr,
                                      SourceLocation RParen) {
   QualType T = TSInfo->getType();
-
-  uint64_t Value;
-  if (!T->isDependentType())
-    Value = EvaluateArrayTypeTrait(*this, ATT, T, DimExpr, KWLoc);
-  else
+  if (T->isDependentType())
     return ExprError();
 
-  // Select trait result type.
-  QualType ResultType;
-  switch (ATT) {
-  case ATT_ArrayRank:    ResultType = Context.IntTy; break;
-  case ATT_ArrayExtent:  ResultType = Context.IntTy; break;
-  }
-
+  uint64_t Value = EvaluateArrayTypeTrait(*this, ATT, T, DimExpr, KWLoc);
   return Owned(new (Context) ArrayTypeTraitExpr(KWLoc, ATT, TSInfo, Value,
-                                                DimExpr, RParen, ResultType));
+                                                DimExpr, RParen,
+                                                Context.IntTy));
 }
 
 ExprResult Sema::ActOnExpressionTrait(ExpressionTrait ET,