summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-05-19 22:28:02 +0000
committerDouglas Gregor <dgregor@apple.com>2009-05-19 22:28:02 +0000
commitf907cbf6341aeba30ea1cd81937e839d1fb091a6 (patch)
tree200c97e7f5afbf67f5830edde3bbfbde6e2b7529 /clang/lib/Sema/SemaTemplateInstantiateExpr.cpp
parent8cf4718fcd7b510833840a7aeab51ccf633cbd34 (diff)
downloadbcm5719-llvm-f907cbf6341aeba30ea1cd81937e839d1fb091a6.tar.gz
bcm5719-llvm-f907cbf6341aeba30ea1cd81937e839d1fb091a6.zip
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
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateExpr.cpp18
1 files changed, 2 insertions, 16 deletions
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
OpenPOWER on IntegriCloud