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