hanchenye-llvm-project/clang/lib/Parse
Chandler Carruth 2d69ec7a72 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.

llvm-svn: 106993
2010-06-28 08:39:25 +00:00
..
AttributeList.cpp Implements Sema part of init_priority(priority) attribute 2010-06-18 21:44:06 +00:00
CMakeLists.txt Update CMake build for new attribute changes. 2010-06-17 00:37:02 +00:00
DeclSpec.cpp Add parentheses suggested by gcc. 2010-06-23 19:34:52 +00:00
Makefile Makefiles: Set Clang CPP compiler flags in a single location, instead of scattered throughout the project Makefiles. 2010-06-08 20:44:43 +00:00
MinimalAction.cpp Improve parser recovery when we encounter a dependent template name 2010-05-21 23:18:07 +00:00
ParseCXXInlineMethods.cpp Cure for Doug's insomnia. 2010-06-19 19:58:34 +00:00
ParseDecl.cpp Make sure parens/braces/brackets are correctly balanced. 2010-06-17 10:52:18 +00:00
ParseDeclCXX.cpp Partial fix for PR7267 based on comments by John McCall on an earlier patch. 2010-06-28 08:39:25 +00:00
ParseExpr.cpp Minor tweaks on doug's objc recovery patch: the caller 2010-05-31 18:18:22 +00:00
ParseExprCXX.cpp Fix PR7180. 2010-06-22 11:30:04 +00:00
ParseInit.cpp Implement parsing for message sends in Objective-C++. Message sends in 2010-04-21 22:36:40 +00:00
ParseObjc.cpp Make the "extra ';' inside a struct or union" diagnostic more 2010-06-16 23:08:59 +00:00
ParsePragma.cpp Parse/Sema: Add support for '#pragma options align=packed', which, it should be 2010-05-27 18:42:17 +00:00
ParsePragma.h Parse: Add support for '#pragma options align'. 2010-05-26 23:29:06 +00:00
ParseStmt.cpp Make sure parens/braces/brackets are correctly balanced. 2010-06-17 10:52:18 +00:00
ParseTemplate.cpp When we see a 'template' disambiguator that marks the next identifier 2010-06-16 23:00:59 +00:00
ParseTentative.cpp Add support for Microsoft's __thiscall, from Steven Watanabe! 2010-05-18 16:57:00 +00:00
Parser.cpp Make sure parens/braces/brackets are correctly balanced. 2010-06-17 10:52:18 +00:00
RAIIObjectsForParser.h Make sure parens/braces/brackets are correctly balanced. 2010-06-17 10:52:18 +00:00