llvm-project/clang/lib/Sema
John McCall c146582e60 When parsing an out-of-line member function declaration, we must delay
access-control diagnostics which arise from the portion of the declarator
following the scope specifier, just in case access is granted by
friending the individual method.  This can also happen with in-line
member function declarations of class templates due to templated-scope
friend declarations.

We were really playing fast-and-loose before with this sort of thing,
and it turned out to work because *most* friend functions are in file
scope.  Making us delay regardless of context exposed several bugs with
how we were manipulating delay.  I ended up needing a concept of a
context that's independent of the declarations in which it appears,
and then I actually had to make some things save contexts correctly,
but delay should be much cleaner now.

I also encapsulated all the delayed-diagnostics machinery in a single
subobject of Sema;  this is a pattern we might want to consider rolling
out to other components of Sema.

llvm-svn: 125485
2011-02-14 07:13:47 +00:00
..
AnalysisBasedWarnings.cpp Don't suggest -Wuninitialized fixits for uninitialized enum types. 2011-02-05 01:18:18 +00:00
AttributeList.cpp OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
CMakeLists.txt CMake: LLVM_NO_RTTI must be obsolete now! 2011-02-10 09:15:32 +00:00
CodeCompleteConsumer.cpp Revert r124704, which uniqued code-completion strings. The space 2011-02-02 19:04:30 +00:00
DeclSpec.cpp Reject forbidden storage class specifiers in OpenCL. Patch by George Russell! 2011-02-11 19:59:54 +00:00
IdentifierResolver.cpp Rename DeclContext::getLookupContext to getRedeclContext and change its semantics slightly. No functionality change in the absence of inline namespaces. Also, change a few places where inline namespaces actually make a difference to be prepared for them. 2010-08-31 00:36:30 +00:00
JumpDiagnostics.cpp Give some convenient idiomatic accessors to Stmt::child_range and 2011-02-13 04:07:26 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
Sema.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
SemaAccess.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
SemaAttr.cpp Move support for "#pragma STDC FP_CONTRACT" to Parser; add Sema actions 2011-02-14 01:42:35 +00:00
SemaCXXCast.cpp Fix a horrible bug in our handling of C-style casting, where a C-style 2011-01-27 00:58:17 +00:00
SemaCXXScopeSpec.cpp Change QualType::getTypePtr() to return a const pointer, then change a 2011-01-19 06:33:43 +00:00
SemaChecking.cpp Give some convenient idiomatic accessors to Stmt::child_range and 2011-02-13 04:07:26 +00:00
SemaCodeComplete.cpp Create a special allocator class for code completion, so that all of 2011-02-01 22:57:45 +00:00
SemaDecl.cpp Reject forbidden storage class specifiers in OpenCL. Patch by George Russell! 2011-02-11 19:59:54 +00:00
SemaDeclAttr.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
SemaDeclCXX.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
SemaDeclObjC.cpp Fix scoping of method declarations and issue 2011-02-09 22:20:01 +00:00
SemaExceptionSpec.cpp Added missing IgnoreParens(). 2010-12-14 22:11:44 +00:00
SemaExpr.cpp Fix think-o I committed without testing, shameful. 2011-02-10 18:29:28 +00:00
SemaExprCXX.cpp Implement objective-c++'s block pointer type matching involving 2011-02-12 19:07:46 +00:00
SemaExprObjC.cpp Support for objc use of property-dot syntax as receiver 2011-02-08 00:23:07 +00:00
SemaInit.cpp When initializing struct members, the important thing is that the "initializing" expression is 2011-02-01 00:52:10 +00:00
SemaLookup.cpp Fix whitespace. 2011-01-27 07:10:08 +00:00
SemaObjCProperty.cpp Improve the diagnostic for -Wcustom-atomic-properties. Suggestion by Fariborz! 2011-01-31 23:20:03 +00:00
SemaOverload.cpp Use hasSameType in one more, hopefully, last place. 2011-02-13 20:11:42 +00:00
SemaStmt.cpp Fix whitespace. 2011-01-27 07:10:08 +00:00
SemaTemplate.cpp Tweak my fix for PR8748, and update the incorrect PR number in the test case. 2011-02-04 12:22:53 +00:00
SemaTemplateDeduction.cpp Fix whitespace. 2011-01-27 07:10:08 +00:00
SemaTemplateInstantiate.cpp Teach the evaluation of the __is_convertible_to trait to translate 2011-01-27 22:31:44 +00:00
SemaTemplateInstantiateDecl.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
SemaTemplateVariadic.cpp Null initialize a few variables flagged by 2011-01-23 17:04:59 +00:00
SemaType.cpp dgregor accidentally killed this assert, but on investigation, it can fire 2011-02-08 01:59:10 +00:00
TargetAttributesSema.cpp 1. Add some ABI information for the Microblaze. 2010-12-19 19:57:51 +00:00
TargetAttributesSema.h Remove Sema.h's dependency on DeclCXX.h. 2010-08-25 07:42:41 +00:00
TreeTransform.h AST, Sema, Serialization: add CUDAKernelCallExpr and related semantic actions 2011-02-09 21:07:24 +00:00
TypeLocBuilder.h Make TypeLocBuilder an implementation detail of Sema. Nobody else should be using it 2010-12-02 00:05:49 +00:00