Граф коммитов

13 Коммитов

Автор SHA1 Сообщение Дата
John McCall 44e067bd8f Set a member's access specifier even if it doesn't match the previous specifier.
Prevents an assert on successive redeclarations.

Fixed PR5573.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91956 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 00:37:40 +00:00
Douglas Gregor a8f32e0965 Refactor the code that walks a C++ inheritance hierarchy, searching
for bases, members, overridden virtual methods, etc. The operations
isDerivedFrom and lookupInBases are now provided by CXXRecordDecl,
rather than by Sema, so that CodeGen and other clients can use them
directly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 17:59:45 +00:00
Mike Stump 1eb4433ac4 Remove tabs, and whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09 15:08:12 +00:00
Sebastian Redl 726212f41b Enhance testing of overriding exception specs for inaccessible base exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76317 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 14:32:15 +00:00
Anders Carlsson d8f9cb03ad Add a new, more advanced CheckDerivedToBaseConversion that takes custom diagnostic IDs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71720 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 21:11:42 +00:00
Anders Carlsson a33d9b4ebf Disable access control by default. It can be enabled with the -faccess-control option. When we have better support for it, we can enable it by default again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71706 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 19:49:53 +00:00
Anders Carlsson 14734f7d2a Revert Sebastian's rvalue patch (r67870) since it caused test failures in
SemaCXX//overload-member-call.cpp
SemaCXX//overloaded-operator.cpp
SemaTemplate//instantiate-method.cpp



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67912 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28 04:17:27 +00:00
Anders Carlsson e5194ff24c Implement access checking for protected base classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67887 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28 01:09:05 +00:00
Anders Carlsson f8080a39e6 It is OK to cast to a private base class if the current member belongs to the class that the private base class is a base of:
class A {};
class B : private A {
  void f(B *b) { A* a = b; }
};



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 19:01:12 +00:00
Anders Carlsson c4f1e87138 Implement checking for base class access. Right now it's overly conservative but that will change. (Also, protected isn't implemented right now).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 06:03:27 +00:00
Anders Carlsson 29f006be83 Add a stubbed out CheckBaseClassAccess method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 05:05:05 +00:00
Anders Carlsson c60e88819a Move Sema::SetMemberAccessSpecifier to SemaAccess.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 04:54:36 +00:00
Anders Carlsson 60d6b0d35e Add SemaAccess.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 04:43:36 +00:00