aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/CheckSecuritySyntaxOnly.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-07-22 23:48:44 +0000
committerDouglas Gregor <dgregor@apple.com>2009-07-22 23:48:44 +0000
commit7cdbc5832084f45721693dfb1d93284c3e08efee (patch)
tree1c31b6a6580709273dc40913ee491c7f44e86eaa /lib/Analysis/CheckSecuritySyntaxOnly.cpp
parent6016cb2d1e99960675e4c4bb97f6f4ecdff97818 (diff)
Implement support for out-of-line definitions of the class members of class
templates, e.g., template<typename T> struct Outer { struct Inner; }; template<typename T> struct Outer<T>::Inner { // ... }; Implementing this feature required some extensions to ActOnTag, which now takes a set of template parameter lists, and is the precursor to removing the ActOnClassTemplate function from the parser Action interface. The reason for this approach is simple: the parser cannot tell the difference between a class template definition and the definition of a member of a class template; both have template parameter lists, and semantic analysis determines what that template parameter list means. There is still some cleanup to do with ActOnTag and ActOnClassTemplate. This commit provides the basic functionality we need, however. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76820 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/CheckSecuritySyntaxOnly.cpp')
0 files changed, 0 insertions, 0 deletions