[cfe-commits] r40716 - /cfe/trunk/AST/Expr.cpp

Steve Naroff snaroff at apple.com
Wed Aug 1 21:09:23 PDT 2007


Author: snaroff
Date: Wed Aug  1 23:09:23 2007
New Revision: 40716

URL: http://llvm.org/viewvc/llvm-project?rev=40716&view=rev
Log:

Tweak to Expr::isIntegerConstantExpr...make sure the result is appropriately size for TypesCompatibleExpr's.

Modified:
    cfe/trunk/AST/Expr.cpp

Modified: cfe/trunk/AST/Expr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/AST/Expr.cpp?rev=40716&r1=40715&r2=40716&view=diff

==============================================================================
--- cfe/trunk/AST/Expr.cpp (original)
+++ cfe/trunk/AST/Expr.cpp Wed Aug  1 23:09:23 2007
@@ -305,9 +305,12 @@
     Result.setIsUnsigned(!getType()->isSignedIntegerType());
     break;
   }
-  case TypesCompatibleExprClass:
-    Result = cast<TypesCompatibleExpr>(this)->typesAreCompatible();
+  case TypesCompatibleExprClass: {
+    const TypesCompatibleExpr *TCE = cast<TypesCompatibleExpr>(this);
+    Result.zextOrTrunc(Ctx.getTypeSize(getType(), TCE->getLocStart()));                              
+    Result = TCE->typesAreCompatible();
     break;
+  }
   case DeclRefExprClass:
     if (const EnumConstantDecl *D = 
           dyn_cast<EnumConstantDecl>(cast<DeclRefExpr>(this)->getDecl())) {





More information about the cfe-commits mailing list