clang-1/lib/Parse
John McCall eee1d5434e 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125485 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-14 07:13:47 +00:00
..
CMakeLists.txt CMake: LLVM_NO_RTTI must be obsolete now! 2011-02-10 09:15:32 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
ParseAST.cpp Remove Sema.h's dependency on DeclCXX.h. 2010-08-25 07:42:41 +00:00
ParseCXXInlineMethods.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
ParseDecl.cpp OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
ParseDeclCXX.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
ParseExpr.cpp Parse: add support for parsing CUDA kernel calls 2011-02-09 21:12:02 +00:00
ParseExprCXX.cpp Implement the Microsoft __is_convertible_to type trait, modeling the 2011-01-27 20:28:01 +00:00
ParseInit.cpp Implement support for pack expansions in initializer lists and 2011-01-03 19:31:53 +00:00
ParseObjc.cpp Fix scoping of method declarations and issue 2011-02-09 22:20:01 +00:00
ParsePragma.cpp OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
ParsePragma.h OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
ParseStmt.cpp Improve our parse recovery on 'case blah;' and 'default;'. 2011-01-22 09:28:32 +00:00
ParseTemplate.cpp When parsing an out-of-line member function declaration, we must delay 2011-02-14 07:13:47 +00:00
ParseTentative.cpp Implement the Microsoft __is_convertible_to type trait, modeling the 2011-01-27 20:28:01 +00:00
Parser.cpp OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
RAIIObjectsForParser.h Implement bracket insertion for Objective-C instance message sends as 2010-09-15 14:51:05 +00:00