llvm-project/clang/lib/Sema
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
..
AnalysisBasedWarnings.cpp Add a hack to silence warnings about failing to return from functions after 2010-05-17 23:51:52 +00:00
AnalysisBasedWarnings.h Remove micro-optimization for not issueing CFG-based warnings for 'static inline' functions 2010-04-08 18:51:44 +00:00
CMakeLists.txt Update CMake build system for ARM NEON generation. 2010-06-17 15:17:41 +00:00
CXXFieldCollector.h ActOnTagDefinitionError is supposed to 'unwind' ActOnTagStartDefinition, not 2010-03-17 19:25:57 +00:00
CodeCompleteConsumer.cpp Introduce priorities into the code-completion results. 2010-05-26 22:00:08 +00:00
IdentifierResolver.cpp Optimize the implementation of IdDeclInfo pooling in the IdentifierResolver. 2010-02-15 19:38:00 +00:00
IdentifierResolver.h Eliminate dead code. 2010-01-02 21:44:36 +00:00
JumpDiagnostics.cpp Alter the internal representation of the condition variable in 2010-06-21 23:44:13 +00:00
Lookup.h Fix a point of semantics with using declaration hiding: method templates 2010-06-16 08:42:20 +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
ParseAST.cpp push some source location information down through the compiler, 2010-04-20 20:35:58 +00:00
Sema.cpp Partial fix for PR7267 based on comments by John McCall on an earlier patch. 2010-06-28 08:39:25 +00:00
Sema.h Partial fix for PR7267 based on comments by John McCall on an earlier patch. 2010-06-28 08:39:25 +00:00
SemaAccess.cpp Partial fix for PR7267 based on comments by John McCall on an earlier patch. 2010-06-28 08:39:25 +00:00
SemaAttr.cpp Sema: Fix comment, apparently #pragma options align=power is just the same as 2010-05-28 20:08:00 +00:00
SemaCXXCast.cpp Give Type::isIntegralType() an ASTContext parameter, so that it 2010-06-16 00:35:25 +00:00
SemaCXXScopeSpec.cpp It turns out that basically every caller to RequireCompleteDeclContext 2010-05-01 00:40:08 +00:00
SemaChecking.cpp improve altivec vector bool/pixel support, patch by Anton Yartsev 2010-06-23 06:00:24 +00:00
SemaCodeComplete.cpp Patch to provide separate ASTs for multiple ObjC class extension 2010-06-22 23:20:40 +00:00
SemaDecl.cpp Add comment for my last patch. 2010-06-25 00:05:45 +00:00
SemaDeclAttr.cpp Implement dependent alignment attribute support. This is a bit gross given the 2010-06-25 03:22:07 +00:00
SemaDeclCXX.cpp Given Decl::isUsed() a flag indicating when to consider the "used" 2010-06-17 23:14:26 +00:00
SemaDeclObjC.cpp Patch to provide separate ASTs for multiple ObjC class extension 2010-06-22 23:20:40 +00:00
SemaExceptionSpec.cpp Disable exception-spec compatibility checking under -fno-exceptions. 2010-05-28 08:37:35 +00:00
SemaExpr.cpp Vector types are not arithmetic types, either. Note that we now ban 2010-06-22 23:41:02 +00:00
SemaExprCXX.cpp Suppress diagnosing access violations while looking up deallocation functions 2010-06-28 00:30:51 +00:00
SemaExprObjC.cpp C return types must be complete as well. 2010-06-16 19:56:08 +00:00
SemaInit.cpp Don't complain about missing field initializers when the initializer 2010-06-18 21:43:10 +00:00
SemaInit.h Use MaybeCreateCXXExprWithTemporaries for potential destruction of 2010-06-07 16:14:00 +00:00
SemaLookup.cpp A more minimal fix for PR6762. 2010-05-28 18:45:08 +00:00
SemaObjCProperty.cpp Patch to provide separate ASTs for multiple ObjC class extension 2010-06-22 23:20:40 +00:00
SemaOverload.cpp Vector types are not arithmetic types, either. Note that we now ban 2010-06-22 23:41:02 +00:00
SemaOverload.h An identity conversion is better than any non-identity 2010-05-23 22:10:15 +00:00
SemaStmt.cpp Type Type::isRealFloatingType() that vectors are not floating-point 2010-06-22 23:07:26 +00:00
SemaTemplate.cpp When we see a 'template' disambiguator that marks the next identifier 2010-06-16 23:00:59 +00:00
SemaTemplate.h After performing template argument deduction for a function template, 2010-03-28 02:42:43 +00:00
SemaTemplateDeduction.cpp Split DependentNameType into two types. DependentNameType represents the 2010-06-11 00:33:02 +00:00
SemaTemplateInstantiate.cpp Revert r106099; it broke self-host. 2010-06-16 15:23:05 +00:00
SemaTemplateInstantiateDecl.cpp Implement dependent alignment attribute support. This is a bit gross given the 2010-06-25 03:22:07 +00:00
SemaType.cpp improve altivec vector bool/pixel support, patch by Anton Yartsev 2010-06-23 06:00:24 +00:00
TargetAttributesSema.cpp Don't emit a warning about a dllimport attribute being used in a typedef 2010-02-21 05:12:56 +00:00
TargetAttributesSema.h Generalize target weirdness handling having proper layering in mind: 2010-01-10 12:58:08 +00:00
TreeTransform.h improve altivec vector bool/pixel support, patch by Anton Yartsev 2010-06-23 06:00:24 +00:00