diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2010-06-28 08:39:25 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2010-06-28 08:39:25 +0000 |
commit | 926c4b486a08f698cd3a367fd6f1a3a07604358d (patch) | |
tree | c3705c62370d678498c65c9a355867a3c4bc12bc /lib/Frontend/PCHReaderStmt.cpp | |
parent | eac4a00e1d93aa963903031ed76425c231f0f0b9 (diff) |
Partial fix for PR7267 based on comments by John McCall on an earlier patch.
This is more targeted, as it simply provides toggle actions for the parser to
turn access checking on and off. We then use these to suppress access checking
only while we parse the template-id (included scope specifier) of an explicit
instantiation and explicit specialization of a class template. The
specialization behavior is an extension, as it seems likely a defect that the
standard did not exempt them as it does explicit instantiations.
This allows the very common practice of specializing trait classes to work for
private, internal types. This doesn't address instantiating or specializing
function templates, although those apparently already partially work.
The naming and style for the Action layer isn't my favorite, comments and
suggestions would be appreciated there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106993 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReaderStmt.cpp')
0 files changed, 0 insertions, 0 deletions