diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-05-19 22:28:02 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-05-19 22:28:02 +0000 |
| commit | f907cbf6341aeba30ea1cd81937e839d1fb091a6 (patch) | |
| tree | 200c97e7f5afbf67f5830edde3bbfbde6e2b7529 /clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | |
| parent | 8cf4718fcd7b510833840a7aeab51ccf633cbd34 (diff) | |
| download | bcm5719-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.cpp | 18 |
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 |

