]> granicus.if.org Git - clang/commitdiff
some minor cleanups, handle ObjCEncodeExpr in a couple places.
authorChris Lattner <sabre@nondot.org>
Tue, 24 Feb 2009 21:54:33 +0000 (21:54 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 24 Feb 2009 21:54:33 +0000 (21:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65389 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDecl.cpp

index a728757adb4953053216bb9c28b1faec7ada1951..2af6ab1bb32f6e8861e58b93fdeaa22d83bb5f5c 100644 (file)
@@ -1149,10 +1149,9 @@ bool Sema::CheckStringLiteralInit(StringLiteral *strLiteral, QualType &DeclT) {
 }
 
 StringLiteral *Sema::IsStringLiteralInit(Expr *Init, QualType DeclType) {
-  const ArrayType *AT = Context.getAsArrayType(DeclType);
-  if (AT && AT->getElementType()->isCharType()) {
-    return dyn_cast<StringLiteral>(Init->IgnoreParens());
-  }
+  if (const ArrayType *AT = Context.getAsArrayType(DeclType))
+    if (AT->getElementType()->isCharType())
+      return dyn_cast<StringLiteral>(Init->IgnoreParens());
   return 0;
 }
 
@@ -2194,6 +2193,7 @@ bool Sema::CheckAddressConstantExpressionLValue(const Expr* Init) {
            CheckArithmeticConstantExpression(ASE->getIdx());
   }
   case Expr::StringLiteralClass:
+  case Expr::ObjCEncodeExprClass:
   case Expr::PredefinedExprClass:
     return false;
   case Expr::UnaryOperatorClass: {
@@ -2217,6 +2217,7 @@ bool Sema::CheckAddressConstantExpression(const Expr* Init) {
   case Expr::ParenExprClass:
     return CheckAddressConstantExpression(cast<ParenExpr>(Init)->getSubExpr());
   case Expr::StringLiteralClass:
+  case Expr::ObjCEncodeExprClass:
   case Expr::ObjCStringLiteralClass:
     return false;
   case Expr::CallExprClass:
@@ -2576,9 +2577,8 @@ bool Sema::CheckArithmeticConstantExpression(const Expr* Init) {
 }
 
 bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
-  if (Init->isConstantInitializer(Context)) {
+  if (Init->isConstantInitializer(Context))
     return false;
-  }
   InitializerElementNotConstant(Init);
   return true;