| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
declaration is in a system header.
llvm-svn: 99087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AnalysisBasedWarnings.
This object controls when the warnings are executed, allowing the client code
in Sema to selectively disable warnings as needed.
Centralizing the logic for analysis-based warnings allows us to optimize
when and how they are run.
Along the way, remove the redundant logic for the 'check fall-through' warning
for blocks; now the same logic is used for both blocks and functions.
llvm-svn: 99085
|
| |
|
|
| |
llvm-svn: 99037
|
| |
|
|
|
|
|
|
| |
ranges as part of the ASTContext. This code is not and was never used,
but contributes ~250k to the size of the Cocoa.h precompiled
header.
llvm-svn: 99007
|
| |
|
|
|
|
| |
mostly during conditional expressions.
llvm-svn: 98975
|
| |
|
|
|
|
|
| |
object pointer types.
Fixes radar 7634850.
llvm-svn: 98970
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98945
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 98899
|
| |
|
|
|
|
| |
a property which is not lvalue.
llvm-svn: 98848
|
| |
|
|
|
|
|
|
| |
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
llvm-svn: 98818
|
| |
|
|
|
|
|
|
| |
lookups
so they don't trigger diagnostics like (say) access control.
llvm-svn: 98806
|
| |
|
|
|
|
| |
ObjCProperyDecl::findPropertyDecl().
llvm-svn: 98794
|
| |
|
|
| |
llvm-svn: 98764
|
| |
|
|
|
|
|
|
| |
ActOnStartCXXMemberDeclaration. We haven't started the field collector on this
class yet, so don't stop it. Fixes a crash in the VS buildbot and a memory error
on all the others.
llvm-svn: 98760
|
| |
|
|
|
|
|
| |
considered to be a part of the translation unit unless they're named
in a way that brings them into existence.
llvm-svn: 98729
|
| |
|
|
|
|
| |
source file has been changed. Handle that failure more gracefully.
llvm-svn: 98727
|
| |
|
|
| |
llvm-svn: 98710
|
| |
|
|
|
|
| |
Fixes the crash-on-invalid in PR6629.
llvm-svn: 98698
|
| |
|
|
|
|
|
| |
returning objc objects. There will be a corresponding objective-c++
patch soon.
llvm-svn: 98696
|
| |
|
|
|
|
| |
literal. Fixes radar 7760213.
llvm-svn: 98693
|
| |
|
|
|
|
| |
recovery for those that need it.
llvm-svn: 98689
|
| |
|
|
| |
llvm-svn: 98684
|
| |
|
|
|
|
| |
that occur in constructors (on the unwind path).
llvm-svn: 98681
|
| |
|
|
|
|
| |
const char*.
llvm-svn: 98630
|
| |
|
|
|
|
| |
constructors from implicitly-defined members.
llvm-svn: 98614
|
| |
|
|
|
|
| |
destructor definitions. Remove some code duplication.
llvm-svn: 98611
|
| |
|
|
|
|
| |
required when emitting a destructor definition.
llvm-svn: 98609
|
| |
|
|
|
|
| |
and start simplifying the interfaces in SourceManager that can fail.
llvm-svn: 98594
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager's getBuffer() (and similar) operations. This abstract
can be used to force callers to cope with errors in getBuffer(), such
as missing files and changed files. Fix a bunch of callers to use the
new interface.
Add some very basic checks for file consistency (file size,
modification time) into ContentCache::getBuffer(), although these
checks don't help much until we've updated the main callers (e.g.,
SourceManager::getSpelling()).
llvm-svn: 98585
|
| |
|
|
| |
llvm-svn: 98570
|
| |
|
|
|
|
|
| |
a property has the same name as the ivar it wraps then the old logic
wouldn't find the previous property declaration.
llvm-svn: 98559
|
| |
|
|
|
|
| |
considering valid objc pointer converions.
llvm-svn: 98557
|
| |
|
|
|
|
|
| |
comparing DeclContext pointers, to avoid having to remember to call
getPrimaryContext() everywhere. This is the last part PR6594.
llvm-svn: 98546
|
| |
|
|
|
|
|
|
|
|
|
| |
parameter hides a namespace-scope declararion with the same name in an
out-of-line definition of a template. The lookup requires a strange
interleaving of lexical and semantic scopes (go C++), which I have not
yet handled in the typo correction/code completion path.
Fixes PR6594.
llvm-svn: 98544
|
| |
|
|
| |
llvm-svn: 98541
|
| |
|
|
|
|
|
|
|
|
|
| |
on unqualified declarations.
Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes
with the ASTContext and delete them during Destroy(). I audited a bunch of
Destroy methods at the same time, to ensure that the correct teardown was
being done.
llvm-svn: 98540
|
| |
|
|
|
|
| |
destructors.
llvm-svn: 98440
|
| |
|
|
| |
llvm-svn: 98436
|
| |
|
|
|
| |
Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test)
llvm-svn: 98399
|
| |
|
|
| |
llvm-svn: 98397
|
| |
|
|
| |
llvm-svn: 98375
|
| |
|
|
|
|
|
|
| |
whether it inherited one from a previous declaration.
Patch by Enea Zaffanella!
llvm-svn: 98362
|
| |
|
|
|
|
|
|
| |
voids in sub-expressions. Patch by Mike M!
Fixes PR4806.
llvm-svn: 98335
|
| |
|
|
|
|
| |
the handling of class extensions from other cases.
llvm-svn: 98326
|
| |
|
|
|
|
| |
contexts.
llvm-svn: 98321
|
| |
|
|
| |
llvm-svn: 98320
|
| |
|
|
|
|
| |
so we can clearly see the parser entry points.
llvm-svn: 98319
|
| |
|
|
| |
llvm-svn: 98318
|
| |
|
|
|
|
| |
a separate file.
llvm-svn: 98317
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the @implementation (instead of the @interface) and actually add
the ivar to the DeclContext (which we weren't doing before).
This allows us to simplify ASTContext::CollectNonClassIvars() by
removing ASTContext::CollectProtocolSynthesizedIvars(). Now all
ivars can be found by either inspecting the ObjCInterfaceDecl and
its companion ObjCImplementationDecl.
llvm-svn: 98280
|