Implement template instantiation for Objective-C++ message sends. We
support dependent receivers for class and instance messages, along with dependent message arguments (of course), and check as much as we can at template definition time. This commit also deals with a subtle aspect of template instantiation in Objective-C++, where the type 'T *' can morph from a dependent PointerType into a non-dependent ObjCObjectPointer type. llvm-svn: 102071
Showing
- clang/lib/AST/Expr.cpp 3 additions, 3 deletionsclang/lib/AST/Expr.cpp
- clang/lib/Sema/SemaExpr.cpp 5 additions, 0 deletionsclang/lib/Sema/SemaExpr.cpp
- clang/lib/Sema/SemaExprObjC.cpp 37 additions, 4 deletionsclang/lib/Sema/SemaExprObjC.cpp
- clang/lib/Sema/SemaType.cpp 2 additions, 0 deletionsclang/lib/Sema/SemaType.cpp
- clang/lib/Sema/TreeTransform.h 127 additions, 16 deletionsclang/lib/Sema/TreeTransform.h
- clang/test/SemaObjCXX/instantiate-message.mm 50 additions, 0 deletionsclang/test/SemaObjCXX/instantiate-message.mm
Loading
Please register or sign in to comment