Hack Expr::isConstantExpr() to allow for __builtin_types_compatible_p.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40705 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Steve Naroff 2007-08-02 00:13:27 +00:00
Родитель 363bcff47d
Коммит 389cecc83f
2 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -305,6 +305,9 @@ bool Expr::isIntegerConstantExpr(llvm::APSInt &Result, ASTContext &Ctx,
Result.setIsUnsigned(!getType()->isSignedIntegerType());
break;
}
case TypesCompatibleExprClass:
Result = cast<TypesCompatibleExpr>(this)->typesAreCompatible();
break;
case DeclRefExprClass:
if (const EnumConstantDecl *D =
dyn_cast<EnumConstantDecl>(cast<DeclRefExpr>(this)->getDecl())) {

Просмотреть файл

@ -738,7 +738,7 @@ public:
QualType getArgType1() { return Type1; }
QualType getArgType2() { return Type2; }
int typesAreCompatible() { return Type::typesAreCompatible(Type1,Type2); }
int typesAreCompatible() const { return Type::typesAreCompatible(Type1,Type2); }
virtual SourceRange getSourceRange() const {
return SourceRange(BuiltinLoc, RParenLoc);