Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Template instantiation for conversion functions | Douglas Gregor | 2009-03-25 | 1 | -0/+31 | |
| | | | | llvm-svn: 67664 | |||||
* | Template instantiation for constructors | Douglas Gregor | 2009-03-24 | 1 | -0/+45 | |
| | | | | llvm-svn: 67623 | |||||
* | More work on diagnosing abstract classes. We can now handle cases like | Anders Carlsson | 2009-03-24 | 1 | -1/+1 | |
| | | | | | | | | | | | | class C { void g(C c); virtual void f() = 0; }; In this case, C is not known to be abstract when doing semantic analysis on g. This is done by recursively traversing the abstract class and checking the types of member functions. llvm-svn: 67594 | |||||
* | Cleanup template instantiation for methods, destructors | Douglas Gregor | 2009-03-24 | 1 | -53/+107 | |
| | | | | llvm-svn: 67585 | |||||
* | Template instantiation for destructors. This is somewhat repetitive; | Douglas Gregor | 2009-03-24 | 1 | -1/+43 | |
| | | | | | | eliminating the duplication is next on the list. llvm-svn: 67579 | |||||
* | Template instantiation for the declarations of member functions within | Douglas Gregor | 2009-03-23 | 1 | -0/+118 | |
| | | | | | | | | | | | | | | | | | | | | | | a class template. At present, we can only instantiation normal methods, but not constructors, destructors, or conversion operators. As ever, this contains a bit of refactoring in Sema's type-checking. In particular: - Split ActOnFunctionDeclarator into ActOnFunctionDeclarator (handling the declarator itself) and CheckFunctionDeclaration (checking for the the function declaration), the latter of which is also used by template instantiation. - We were performing the adjustment of function parameter types in three places; collect those into a single new routine. - When the type of a parameter is adjusted, allocate an OriginalParmVarDecl to keep track of the type as it was written. - Eliminate a redundant check for out-of-line declarations of member functions; hide more C++-specific checks on function declarations behind if(getLangOptions().CPlusPlus). llvm-svn: 67575 | |||||
* | Refactor instantiation of declarations within a template into a much | Douglas Gregor | 2009-03-17 | 1 | -0/+202 | |
cleaner visitor framework. Added a visitor for declarations, which is quite similar to the visitor for statatements. llvm-svn: 67104 |