4fa7eab771ab8212e1058bd1a91061ff120c8fbb |
|
19-Jul-2013 |
Alexey Bataev <a.bataev@hotmail.com> |
OpenMP: basic support for #pragma omp parallel git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
5068b6f6bd166c50d045bf33901759a2417fdee4 |
|
07-May-2013 |
Serge Pavlov <sepavloff@gmail.com> |
Test commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
cad7e43c5aba88bf6affc155b02d8609485db41b |
|
29-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement DR580: access checks for template parameters of a class template are performed within the context of that class template. Patch by Ismail Pazarbasi! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
714b509bb4f8be76e6616944551efe7a6e8358cd |
|
27-Feb-2013 |
John McCall <rjmccall@apple.com> |
Don't crash when diagnosing path-constrained protected access to a private member to which we have special access. rdar://12926092 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
637619b915888ead5576d19508644e4eb9024078 |
|
22-Feb-2013 |
John McCall <rjmccall@apple.com> |
Only suppress instance context if a member is actually accessible in its declaring class; otherwise we might fail to apply [class.protected] when considering accessibility in derived classes. Noticed by inspection; <rdar://13270329>. I had an existing test wrong. Here's why it's wrong: Follow the rules (and notation) of [class.access]p5. The naming class (N) is B and the context (R) is D::getX. - 'x' as a member of B is protected, but R does not occur in a member or friend of a class derived from B. - There does exist a base class of B, A, which is accessible from R, and 'x' is accessible at R when named in A because 'x' as a member of A is protected and R occurs in a member of a class, D, that is derived from A; however, by [class.protected], the class of the object expression must be equal to or derived from that class, and A does not derive from D. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
f3477c13eeaf11b32a41f181398fb5deffd0dd73 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
94ff8e1f57c6382d91d0de981a4f311509d83e37 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
8bddeb57d134c0e5f14e319271aa9015886a8ac7 |
|
25-Aug-2012 |
John McCall <rjmccall@apple.com> |
When computing the effective context for access control, make sure we walk up the DC chain for the current context, rather than allowing ourselves to get switched over to the canonical DC chain. Fixes PR13642. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
1ddbd89bb397988dd1a4e96d8d8c2c7705a2af75 |
|
24-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Fix a few -Wdocumentation warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
1f2e1a96bec2ba6418ae7f2d2b525a3575203b6a |
|
10-Aug-2012 |
John McCall <rjmccall@apple.com> |
Check access to friend declarations. There's a number of different things going on here that were problematic: - We were missing the actual access check, or rather, it was suppressed on account of being a redeclaration lookup. - The access check would naturally happen during delay, which isn't appropriate in this case. - We weren't actually emitting dependent diagnostics associated with class templates, which was unfortunate. - Access was being propagated incorrectly for friend method declarations that couldn't be matched at parse-time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
478851c3ed6bd784e7377dffd8e57b200c1b9ba9 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from Stmt.h and fix up transitive users. This required moving the ctors for IntegerLiteral and FloatingLiteral out of line which shouldn't change anything as they are usually called through Create methods that are already out of line. ASTContext::Deallocate has been a nop for a long time, drop it from ASTVector and make it independent from ASTContext.h Pass the StorageAllocator directly to AccessedEntity so it doesn't need to have a definition of ASTContext around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
40ae6666dd7a458f2d213370922a38be13f003c4 |
|
22-Jun-2012 |
James Dennett <jdennett@google.com> |
Diagnostics cleanup: Fixing \params to match the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
13489673b84fafaaf49cf5ae4e3bb9a945524dcb |
|
07-May-2012 |
John McCall <rjmccall@apple.com> |
Change how we suppress access control in explicit instantiations so that we actually accumulate all the delayed diagnostics. Do this so that we can restore those diagnostics to good standing if it turns out that we were wrong to suppress, e.g. if the tag specifier is actually an elaborated type specifier and not a declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
3f152e65074b70e8c13c876ed8b552cb1e6194d7 |
|
07-May-2012 |
John McCall <rjmccall@apple.com> |
There is no reason for these methods to be out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b4143472c7763b84536328dee13f281df2d9040b |
|
19-Apr-2012 |
Francois Pichet <pichet2000@gmail.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
2d01f2c414b8ef2ae23620ce6c9d3763c8bf73bf |
|
18-Apr-2012 |
Francois Pichet <pichet2000@gmail.com> |
As per John McCall comment: Follow up to r154924: check that we are in a static CMethodDecl to enable the Microsoft bug emulation regarding access to protected member during PTM creation. Not just any static function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b2d899e9ae8a48c4057a48664213948934b877fa |
|
17-Apr-2012 |
Francois Pichet <pichet2000@gmail.com> |
Emulate a MSVC bug where the creation of pointer-to-member to protected member of base class is allowed but only from a static function. This fixes a regression when parsing MFC code with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
12d8d80fb0f8d9cddecb34da0f37b0dc9fcaf5e6 |
|
09-Apr-2012 |
John McCall <rjmccall@apple.com> |
Fix the access check performed as part of the determination of whether to define a special member function as deleted so that it properly establishes an object context for the accesses to the base subobject members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b9abd87283ac6e929b7e12a577663bc99e61d020 |
|
07-Apr-2012 |
John McCall <rjmccall@apple.com> |
Fix several problems with protected access control: - The [class.protected] restriction is non-trivial for any instance member, even if the access lacks an object (for example, if it's a pointer-to-member constant). In this case, it is equivalent to requiring the naming class to equal the context class. - The [class.protected] restriction applies to accesses to constructors and destructors. A protected constructor or destructor can only be used to create or destroy a base subobject, as a direct result. - Several places were dropping or misapplying object information. The standard could really be much clearer about what the object type is supposed to be in some of these accesses. Usually it's easy enough to find a reasonable answer, but still, the standard makes a very confident statement about accesses to instance members only being possible in either pointer-to-member literals or member access expressions, which just completely ignores concepts like constructor and destructor calls, using declarations, unevaluated field references, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
4773654f2700d6fbb20612fbb6763b35860fa74d |
|
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new initialization entity for lambda captures, and specialize location information and diagnostics for this entity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
dc370c1e70a2f876c65be4057ead751b72c8ddd5 |
|
20-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused variables. Found by clang's own static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
7530c034c0c71a64c5a9173206d9742ae847af8b |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
ef96ee0be5f100789f451641542a69cd719144d2 |
|
14-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method). Plus, settle on the names getPreviousDecl() and getMostRecentDecl() throughout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d7c56e1114bfe7d461786903bb720d2c6efc05a1 |
|
29-Dec-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Change the diagnostics which said 'accepted as an extension' to instead say 'is an extension'. The former is inappropriate and confusing when building with -Werror/-pedantic-errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
60ef308e51c71b760d7f598c1b763ceb7b768148 |
|
15-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Replace all comparisons between ObjCInterfaceDecl pointers with calls to declaresSameEntity(), as a baby step toward tracking forward declarations of Objective-C classes precisely. Part of <rdar://problem/10583531>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
7432b90e88ac9e219f6e8a3151c097b0b7da933c |
|
15-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
When we're checking access in a dependent context, don't try to look at the bases of an undefined class. Fixes <rdar://problem/10438657>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
f3c02869a7a50ebdc963d0456fd075368b5b5a3f |
|
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend IsSimplyAccessible to check for Objective-C instance variable accessibility. Fixes <rdar://problem/3727335>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
a885dce496f2a9e30650f74607efe11856a76a34 |
|
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Class can't be null in this context git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
17015eff2b3166e445377b15913474b472775e7c |
|
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Refactor Sema::IsSimplyAccessible slightly, to work on a DeclContext rather than a class git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b008012426d1b9b1ba401ad7bebf4d65bd469b92 |
|
11-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Don't crash in Sema::IsSimplyAccessible if the declaration is not a C++ class member. Fixes PR11108. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
ac57f0b9097e04f70a631549383a2944f74ad844 |
|
10-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
The effective context of a friend function is its lexical context. Fixes PR9103. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d12059673dcef32bc2b6bae5321654d33863afe6 |
|
06-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Added CXAvailability_NotAccessible to indicate that a declaration is available, but not accessible from the current code completion context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
ca82a82082edc982a1fb5fcfef2dd2c8cf9bc824 |
|
21-Sep-2011 |
John McCall <rjmccall@apple.com> |
Enforce access control for conversion operators used in contextual conversions (rather than just call-arguments). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
cc6306e96782a8da2d818bfaca003645530ffd2f |
|
21-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Move Microsoft access specifier bug emulation from -fms-extensions to -fm-compatibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
24dd9ad9001d1aa16223de135d7e4ed34e94b207 |
|
19-Sep-2011 |
Erik Verbruggen <erikjv@me.com> |
Removed an unused field and its accessors methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
62ec1f2fd7368542bb926c04797fb07023547694 |
|
17-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Rename LangOptions::Microsoft to LangOptions::MicrosoftExt to make it clear that this flag must be used only for Microsoft extensions and not emulation; to avoid confusion with the new LangOptions::MicrosoftMode flag. Many of the code now under LangOptions::MicrosoftExt will eventually be moved under the LangOptions::MicrosoftMode flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b320e0c322fb71d6235ebca9ec22940a97bdcdc7 |
|
10-Jun-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Implement caching of default constructors on the resolution table. This isn't yet used for the less controlled environments of initialization. Also a few random text fixups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
82713174914bdb927a254c5ee188e35fd79c4948 |
|
26-May-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Update our diagnostics to properly account for move operations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b2ee8305f878259613b65d0f96a03f7f852977ea |
|
23-May-2011 |
Francois Pichet <pichet2000@gmail.com> |
Emulate a MSVC bug where if during an using declaration name lookup, the declaration found is unaccessible (private) and that declaration was bring into scope via another using declaration whose target declaration is accessible (public) then no error is generated. Example: class A { public: int f(); }; class B : public A { private: using A::f; }; class C : public B { private: using B::f; }; Here, B::f is private so this should fail in Standard C++, but because B::f refers to A::f which is public MSVC accepts it. This fixes 1 error when parsing MFC code with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
1e55e91a257c4ddd4364656b048a3c345c366804 |
|
20-May-2011 |
Matt Beaumont-Gay <matthewbg@google.com> |
Undo enough of r131143 to make private copy ctor diags say "copy constructor" again git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
cb45a0f42964ab5fa1474b25abcc1ae3a8bd0ab8 |
|
13-May-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Hrm git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
f961ea5716867b5e426fb2136edd6d1f04c3a7ca |
|
10-May-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Re-do R131114 without breaking code. I've edited one diagnostic which would print "copy constructor" for copy constructors and "constructor" for any other constructor. If anyone is extremely enamored with this, it can be reinstated with a simple boolean flag rather than calling getSpecialMember, which is inappropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
3e4c6c4c79a03f5cb0c4671d7c282d623c6dc35e |
|
05-May-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement support for C++0x alias templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
162e1c1b487352434552147967c3dd296ebee2f7 |
|
15-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support for C++11 (non-template) alias declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
4bfd680597862e437fcba739dce58531d0b15d6e |
|
15-Feb-2011 |
John McCall <rjmccall@apple.com> |
Handle delayed access in local declarations. PR9229. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
eee1d5434ebfa955ffc3c493aecd68bb7b3f4838 |
|
14-Feb-2011 |
John McCall <rjmccall@apple.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
6bb4dcb412d53d05a80017df81d41e447e2aa3ea |
|
28-Nov-2010 |
Nico Weber <nicolasweber@gmx.de> |
Minor whitespace and comment fixes. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
aa56a66abb61e9f42b48ae88e43328aba10c9148 |
|
20-Oct-2010 |
John McCall <rjmccall@apple.com> |
Access control polish: drop the note on the original declaration and say 'implicitly' when it was implicit. Resolves PR 7930 and my peace of mind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
6102ca1d490836096678d7d934f0b2b78f9293ec |
|
16-Oct-2010 |
John McCall <rjmccall@apple.com> |
White-listing templated-scope friend decls is a good idea, but doing it by marking the decl invalid isn't. Make some steps towards supporting these and then hastily shut them down at the last second by marking them as unsupported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
337ec3d0e8cb24a591ecbecdc0a995a167f6af01 |
|
13-Oct-2010 |
John McCall <rjmccall@apple.com> |
Handle dependent friends more explicitly and deal with the possibility of templated-scope friends by marking them invalid and white-listing all accesses until such time as we implement them. Fixes a crash, this time without a broken test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
fe24e05a87e48fa3318b65d1a92c542107639fd9 |
|
03-Sep-2010 |
John McCall <rjmccall@apple.com> |
Add a quick-and-dirty hack to give a better diagnostic for [class.protected] restrictions. The note's not really on the right place given its wording, but putting a second note on the call site (or muddying the wording) doesn't appeal. There are corner cases where this can be wrong, but I'm not concerned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
326c8c7d6e6996c82a1da55c1c3cd6cb4b89a584 |
|
28-Aug-2010 |
John McCall <rjmccall@apple.com> |
That's not the right direction to compute notional accessibility in at all. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
1797a05f97671d40929224ac030c8c16fe69938c |
|
28-Aug-2010 |
John McCall <rjmccall@apple.com> |
Fix build. Bad me, adding last-minute assertions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
8c77bcb072e7fd089f39fd7e079b6d767bf583fa |
|
28-Aug-2010 |
John McCall <rjmccall@apple.com> |
When checking access control for an instance member access on an object of type I, if the current access target is protected when named in a class N, consider the friends of the classes P where I <= P <= N and where a notional member of N would be non-forbidden in P. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
9c72c6088d591ace8503b842d39448c2040f3033 |
|
27-Aug-2010 |
John McCall <rjmccall@apple.com> |
Propagate whether an id-expression is the immediate argument of an '&' expression from the second caller of ActOnIdExpression. Teach template argument deduction that an overloaded id-expression doesn't give a valid type for deduction purposes to a non-static member function unless the expression has the correct syntactic form. Teach ActOnIdExpression that it shouldn't try to create implicit member expressions for '&function', because this isn't a permitted form of use for member functions. Teach CheckAddressOfOperand to diagnose these more carefully. Some of these cases aren't reachable right now because earlier diagnostics interrupt them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
9c3087b0b0bea2fd782205c1274ebfc4290265e0 |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
Restore r112114 now that SmallVector<...,0> is safe. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
0ad106fec9dd188e20026c80d814f836e15780e3 |
|
26-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert r112114, "Pull DelayedDiagnostic and AccessedEntity out into their own header.", it is teh broken. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
679063472244a6cb6d4b52894ac020022690620d |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
Pull DelayedDiagnostic and AccessedEntity out into their own header. This works courtesy of the new SmallVector<..., 0> specialization that doesn't require a complete type. Note that you'll need to pull at least SmallVector.h from LLVM to compile successfully. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
2d88708cbe4e4ec5e04e4acb6bd7f5be68557379 |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
Split out a header to hold APIs meant for the Sema implementation from Sema.h. Clients of Sema don't need to know (for example) the list of diagnostics we support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
72c4c15e030cabf71cffc899ca779a251bcc72d1 |
|
20-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r111609, which is failing its new test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
29c695b86199ce917fd59b875683960a1858342a |
|
20-Aug-2010 |
John McCall <rjmccall@apple.com> |
Detect efforts to declare a template member friend and explicitly ignore them. Avoids a crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
e737f5041a36d0befb39ffeed8d50ba15916d3da |
|
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move Sema's headers into include/clang/Sema, renaming a few along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
926c4b486a08f698cd3a367fd6f1a3a07604358d |
|
28-Jun-2010 |
Chandler Carruth <chandlerc@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
57d12fd4a2bc739c4a4d62a364b7f08cd483c59e |
|
07-Jun-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
PR7245: Make binding a reference to a temporary without a usable copy constructor into an extension warning into the error that C++98 requires. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
76ef658c703faf72c00f324fb9edc03169718e3e |
|
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
When we complain about a member being inaccessible due to a constraint along an access path, add another note pointing at the member we actually found. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
01ebd9d1883e82c4188325900a4eb9c1e16353bb |
|
04-May-2010 |
John McCall <rjmccall@apple.com> |
An access is permitted if the current template instantiates to the appropriate class. Add some conservative support for the idea. Fixes PR 7024. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
0e313bd4795c005f23c43f127039fd948c3e0bd9 |
|
23-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Add another 'catch all' access diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
e9ee23edd17c4bb7f271e67f8790792b4de677fc |
|
22-Apr-2010 |
John McCall <rjmccall@apple.com> |
Use the naming class from the overloaded lookup when access-checking an address of overloaded function, instead of assuming that a nested name specifier was used. A nested name specifier is not required for static functions. Fixes PR6886. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
3b8c53b619c1c3d77632734d227566071459b9f5 |
|
22-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Re-land the patch that merges two diagnostics into one now that it passes self-host :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d4b2853cec72abdaa6821aabc372d538dfbc2429 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Unify two diagnostics into one.", it breaks with an assertion failure on bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
792898b58a27ea9034dd95710d388ed30cc693af |
|
22-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Unify two diagnostics into one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b99c666a940e93bcfcaeddc01515c94472e28a20 |
|
21-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Diagnose access to fields with private constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
711f34adb886cce8ba86c7b1b6513a1eaaf63bb5 |
|
21-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Keep tack of whether a base in an InitializedEntity is an inherited virtual base or not. Use this in CheckConstructorAccess. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
9a68a67c6ae4982001815cc04f69b8781058263a |
|
21-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Pass the InitializedEntity to Sema::CheckConstructorAccess and use it to report different diagnostics depending on which entity is being initialized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
630eb01b2568d0958118eb1a0ded02bebecb2b0f |
|
18-Apr-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Fix the access checking of function and function template argument types, return types, and default arguments. This fixes PR6855 along with several similar cases where we rejected valid code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
c91cc66e92b084acd1fdbaa1c3c74242741b3d46 |
|
07-Apr-2010 |
John McCall <rjmccall@apple.com> |
Check access for the implicit calls to destructors that occur when we have a temporary object in C++. Also fix a tag mismatch that Doug noticed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
161755a09898c95d21bfff33707da9ca41cd53c5 |
|
06-Apr-2010 |
John McCall <rjmccall@apple.com> |
Implement the protected access restriction ([class.protected]), which requires that protected members be used on objects of types which derive from the naming class of the lookup. My first N attempts at this were poorly-founded, largely because the standard is very badly worded here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
db73c684ba61fed4087af488e8610657ec638c17 |
|
02-Apr-2010 |
John McCall <rjmccall@apple.com> |
Correct the calculation of access to more closely model the wording in the standard. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
e2f5ba9d80cfadbb3e1dafb9f375eb526f669b85 |
|
31-Mar-2010 |
John McCall <rjmccall@apple.com> |
Fix an oversight with access control for address-of-function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
6bb8017bb9e828d118e15e59d71c66bba323c364 |
|
30-Mar-2010 |
John McCall <rjmccall@apple.com> |
Propagate the "found declaration" (i.e. the using declaration instead of the underlying/instantiated decl) through a lot of API, including "intermediate" MemberExprs required for (e.g.) template instantiation. This is necessary because of the access semantics of member accesses to using declarations: only the base class *containing the using decl* need be accessible from the naming class. This allows us to complete an access-controlled selfhost, if there are no recent regressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
fe6b2d481d91140923f4541f273b253291884214 |
|
30-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Optimize PartialDiagnostic's memory-allocation behavior by placing a cache of PartialDiagnostic::Storage objects into an allocator within the ASTContext. This eliminates a significant amount of malloc traffic, for a 10% performance improvement in -fsyntax-only wall-clock time with 403.gcc's combine.c. Also, eliminate the RequireNonAbstractType hack I put in earlier, which was but a symptom of this larger problem. Fixes <rdar://problem/7806091>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
2cc2675d426af23476a9722c08c1b6c5266bd653 |
|
27-Mar-2010 |
John McCall <rjmccall@apple.com> |
Accumulate all functions and classes that the effective context is nested within, and suddenly local classes start working. Wouldn't be necessary if I hadn't used local classes in Clang in the first place. Or, well, wouldn't be necessary yet. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d325daa506338ab86f9dd468b48fd010673f49a6 |
|
26-Mar-2010 |
John McCall <rjmccall@apple.com> |
Reapply r99596 with a fix: link an instantiated friend function to its pattern if it has a body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
a7bc8559b40a78d664d6c7faf4b42ff21184c146 |
|
26-Mar-2010 |
John McCall <rjmccall@apple.com> |
Apparently that didn't work. Reverting for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d7e29e114d20da5b83e0cb7bc29ec717a7458cb1 |
|
26-Mar-2010 |
John McCall <rjmccall@apple.com> |
Properly instantiate and link in friend function templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
e06c1a13172bd6ef38fe927d72198ab3f97c0b4a |
|
25-Mar-2010 |
John McCall <rjmccall@apple.com> |
Fix a very minor oversight in privileges-elevation: we were only considering friendship for a derived class if the base class specifier was non-public, and thus not considering friendship for non-public members of public bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
32f2fb53d9d7c28c94d8569fd0fcf06cccee0c3d |
|
25-Mar-2010 |
John McCall <rjmccall@apple.com> |
Preserve type-source information in friend declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
93ba8579c341d5329175f1413cdc3b35a36592d2 |
|
25-Mar-2010 |
John McCall <rjmccall@apple.com> |
Properly instantiate friend class template declarations and link them into the redeclaration chain. Recommitted from r99477 with a fix: we need to merge in default template arguments from previous declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
e131c574c7baa28eb0759181478d710a2aa60cb6 |
|
25-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert 99477 since it appears to be breaking the clang-x86_64-darwin10-fnt buildbot. The tramp3d test fails. --- Reverse-merging r99477 into '.': U test/SemaTemplate/friend-template.cpp U test/CXX/temp/temp.decls/temp.friend/p1.cpp U lib/Sema/SemaTemplateInstantiateDecl.cpp U lib/Sema/SemaAccess.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
a56623b01ed9f28f10416432d147c7a1729d5f1d |
|
25-Mar-2010 |
John McCall <rjmccall@apple.com> |
Properly instantiate and link in friend-class-template declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
c1b621daf98d83075a466c6f4ad9904dc845dd09 |
|
24-Mar-2010 |
John McCall <rjmccall@apple.com> |
Walk out of enums when determining effective context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
7ad650f88ecbbe659f10f9f6b34a1f29ea9cf8f9 |
|
24-Mar-2010 |
John McCall <rjmccall@apple.com> |
Support friend function specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
0c01d18094100db92d38daa923c95661512db203 |
|
24-Mar-2010 |
John McCall <rjmccall@apple.com> |
Implement a framework for the delay of arbitrary diagnostics within templates. So delay access-control diagnostics when (for example) the target of a friend declaration is a specific specialization of a template. I was surprised to find that this was required for an access-controlled selfhost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
9aa472c45d2bd81b7b52c225e8acc560d716db97 |
|
19-Mar-2010 |
John McCall <rjmccall@apple.com> |
Remember the "found declaration" for an overload candidate, which is the entity (if applicable) which was actually looked up. If a candidate was found via a using declaration, this is the UsingShadowDecl; otherwise, if the candidate is template specialization, this is the template; otherwise, this is the function. The point of this exercise is that "found declarations" are the entities we do access control for, not their underlying declarations. Broadly speaking, this patch fixes access control for using declarations. There is a *lot* of redundant code calling into the overload-resolution APIs; we really ought to clean that up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
7aceaf8cee77c98478e8934dc283910292711a7e |
|
19-Mar-2010 |
John McCall <rjmccall@apple.com> |
When elevating access along an inheritance path, initialize the computed access to the (elevated) access of the accessed declaration, if applicable, rather than plunking that access onto the end after we've calculated the inheritance access. Also, being a friend of a derived class gives you public access to its members (subject to later modification by further inheritance); it does not simply ignore a single location of restricted inheritance. Also, when computing the best unprivileged path to a subobject, preserve the information that the worst path might be AS_none (forbidden) rather than a minimum of AS_private. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
90c8c57bcd84083df85f76aac2aa62acb85eb077 |
|
18-Mar-2010 |
John McCall <rjmccall@apple.com> |
from code inspection, we were treating placement news with one argument as non-placement news when selecting the corresponding operator delete; this is fixed. Access and ambiguity control for calls to operator new and delete. Also AFAICT git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
a742db0032d8f458fe229600d2082981a1fb1481 |
|
17-Mar-2010 |
John McCall <rjmccall@apple.com> |
Implement non-dependent friend functions and classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
88b6c71e3f0e68d094efcf880910caf424b46cbf |
|
17-Mar-2010 |
John McCall <rjmccall@apple.com> |
Grant nested classes the access privileges of their enclosing classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b020748a9954c995f2e616f50bb9ed4fe2df1f72 |
|
16-Mar-2010 |
John McCall <rjmccall@apple.com> |
Access control for implicit calls to copy assignment operators and copy constructors from implicitly-defined members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
58e6f34e4d2c668562e1c391162ee9de7b05fbb2 |
|
16-Mar-2010 |
John McCall <rjmccall@apple.com> |
Perform access control for the implicit base and member destructor calls required when emitting a destructor definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
d60e22e601852ae1345f01514318a0951dc09f89 |
|
12-Mar-2010 |
John McCall <rjmccall@apple.com> |
Implement basic support for friend types and functions in non-dependent contexts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
6b2accb4793e16b2e93a8c2589f5df702231f17a |
|
10-Feb-2010 |
John McCall <rjmccall@apple.com> |
Improve access control diagnostics. Perform access control on member-pointer conversions. Fix an access-control bug where privileges were not considered at intermediate points along the inheritance path. Prepare for friends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
68c6c9a21e2d9d587477e07522fe55769d3aa26a |
|
02-Feb-2010 |
John McCall <rjmccall@apple.com> |
Mark dtors for parameter variables and eliminate some redundant type munging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
4f9506a27cb6b865bf38beea48eadfa9dc93f510 |
|
02-Feb-2010 |
John McCall <rjmccall@apple.com> |
Access control for implicit destructor calls. Diagnostic could be orders of magnitude clearer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
b13b737a2450167c82e148590e8019b839ce6b98 |
|
01-Feb-2010 |
John McCall <rjmccall@apple.com> |
Access checking for implicit user-defined conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
5357b615364c17ea024c757354c58ae2a520d216 |
|
28-Jan-2010 |
John McCall <rjmccall@apple.com> |
Access checking for overloaded operators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
2f514480c448708ec382a684cf5e035d3a827ec8 |
|
27-Jan-2010 |
John McCall <rjmccall@apple.com> |
Implement access-check delays for out-of-line member definitions using the same framework we use for deprecation warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
c373d48502ca7683ab55385f5bd624d778eb288d |
|
27-Jan-2010 |
John McCall <rjmccall@apple.com> |
Implement access control for overloaded functions. Suppress access control diagnostics in "early" lookups, such as during typename checks and when building unresolved lookup expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
92f883177b162928a8e632e4e3b93fafd2b26072 |
|
23-Jan-2010 |
John McCall <rjmccall@apple.com> |
Implement elementary access control. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
44e067bd8f923ba8e7c24b2189e06717d70015c8 |
|
23-Dec-2009 |
John McCall <rjmccall@apple.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
a8f32e0965ee19ecc53cd796e34268377a20357c |
|
06-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
726212f41bac77dc7f3352bc7047615fa0cd9e58 |
|
18-Jul-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
d8f9cb03ad5ba30094995c254e2b7afcef34d813 |
|
13-May-2009 |
Anders Carlsson <andersca@mac.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
a33d9b4ebf732a5da6d56fd7319ff6c020789b1c |
|
13-May-2009 |
Anders Carlsson <andersca@mac.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
14734f7d2a69f9076e8a06954f06d3313063e7f9 |
|
28-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
e5194ff24c224fa8ee83064dff73f62f745a4469 |
|
28-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Implement access checking for protected base classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
f8080a39e6e576a820dadb7a4e0bcf5e7c8ffa35 |
|
27-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
c4f1e87138bfe5d3aaccff13c86b383a255bca42 |
|
27-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
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
/external/clang/lib/Sema/SemaAccess.cpp
|
29f006be830fbbcaa0c1cf7c7399bb5080dc7f32 |
|
27-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Add a stubbed out CheckBaseClassAccess method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
c60e88819a273d54faa71a2cd6c3d79dd48c12e0 |
|
27-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Move Sema::SetMemberAccessSpecifier to SemaAccess.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|
60d6b0d35e3c7c09554f8a4618b97a5d8d0c67a6 |
|
27-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Add SemaAccess.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaAccess.cpp
|