From f907cbf6341aeba30ea1cd81937e839d1fb091a6 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Tue, 19 May 2009 22:28:02 +0000 Subject: Ban the use of __builtin_types_compatible_p in C++; g++ doesn't support it, and it isn't clear exactly what it's supposed to mean. Thanks Eli! llvm-svn: 72142 --- clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'clang/lib/Sema/SemaTemplateInstantiateExpr.cpp') diff --git a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp index 5e91ada66d5..ca19a3d32f1 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp @@ -469,22 +469,8 @@ Sema::OwningExprResult TemplateExprInstantiator::VisitStmtExpr(StmtExpr *E) { Sema::OwningExprResult TemplateExprInstantiator::VisitTypesCompatibleExpr(TypesCompatibleExpr *E) { - QualType Type1 = SemaRef.InstantiateType(E->getArgType1(), TemplateArgs, - /*FIXME:*/ E->getBuiltinLoc(), - DeclarationName()); - if (Type1.isNull()) - return SemaRef.ExprError(); - - QualType Type2 = SemaRef.InstantiateType(E->getArgType2(), TemplateArgs, - /*FIXME:*/ E->getBuiltinLoc(), - DeclarationName()); - if (Type2.isNull()) - return SemaRef.ExprError(); - - return SemaRef.ActOnTypesCompatibleExpr(E->getBuiltinLoc(), - Type1.getAsOpaquePtr(), - Type2.getAsOpaquePtr(), - E->getRParenLoc()); + assert(false && "__builtin_types_compatible_p is not legal in C++"); + return SemaRef.ExprError(); } Sema::OwningExprResult -- cgit v1.2.3