[cfe-commits] r130649 - /cfe/trunk/lib/Sema/SemaExprCXX.cpp

Chandler Carruth chandlerc at gmail.com
Sun May 1 00:49:26 PDT 2011


Author: chandlerc
Date: Sun May  1 02:49:26 2011
New Revision: 130649

URL: http://llvm.org/viewvc/llvm-project?rev=130649&view=rev
Log:
Simplify the flow of some of the array type trait code.

Completely remove a switch which selected between the same two types.

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=130649&r1=130648&r2=130649&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Sun May  1 02:49:26 2011
@@ -2996,22 +2996,13 @@
                                      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,





More information about the cfe-commits mailing list