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())) {