| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Eventually there will also be a lib/StaticAnalyzer/Frontend that will handle initialization and checker registration.
Yet another library to avoid cyclic dependencies between Core and Checkers.
llvm-svn: 125124
|
| |
|
|
|
|
| |
lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp
llvm-svn: 125123
|
| |
|
|
|
|
| |
lib/StaticAnalyzer/Checkers/ExperimentalChecks.h
llvm-svn: 125122
|
| |
|
|
|
|
| |
lib/StaticAnalyzer/Checkers/InternalChecks.h
llvm-svn: 125121
|
| |
|
|
|
|
|
|
|
|
| |
record away from the core processor record. The tangling of these two
data structures led to some inefficiencies (e.g., deserializing all
of the detailed preprocessing record when we didn't need it, such as
while performing code completion) along with some unnecessary
ugliness.
llvm-svn: 125117
|
| |
|
|
| |
llvm-svn: 125115
|
| |
|
|
| |
llvm-svn: 125114
|
| |
|
|
| |
llvm-svn: 125111
|
| |
|
|
| |
llvm-svn: 125104
|
| |
|
|
|
|
|
|
| |
instead from the Scope; Inner scopes in bodies don't have DeclContexts associated with them.
Fixes http://llvm.org/PR9160 & rdar://problem/8966163.
llvm-svn: 125097
|
| |
|
|
|
|
|
| |
in liu of a class method getter.
// rdar://8962253
llvm-svn: 125094
|
| |
|
|
|
|
|
| |
format, so that llvm-bcanalyzer knows about all of the various record
kinds.
llvm-svn: 125086
|
| |
|
|
|
|
|
|
| |
Block{Function,Module} base class. Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085
|
| |
|
|
|
|
| |
mutable fields and with trivial destructors and copy constructors.
llvm-svn: 125073
|
| |
|
|
|
|
|
|
|
| |
a glvalue as a temporary. Previously, we were enumerating all of the
cases that coul return glvalues and might be called with
Sema::MaybeBindToTemporary(), but that was gross and we missed the
Objective-C property reference case.
llvm-svn: 125070
|
| |
|
|
|
|
| |
functionality intended.
llvm-svn: 125069
|
| |
|
|
|
|
| |
on invalid code and we don't really care, so kill it harder.
llvm-svn: 125068
|
| |
|
|
|
|
|
| |
in liu of a class method getter. objc++ uses a different
code path and is more involved (TBD).
llvm-svn: 125061
|
| |
|
|
| |
llvm-svn: 125021
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- BlockDeclRefExprs always store VarDecls
- BDREs no longer store copy expressions
- BlockDecls now store a list of captured variables, information about
how they're captured, and a copy expression if necessary
With that in hand, change IR generation to use the captures data in
blocks instead of walking the block independently.
Additionally, optimize block layout by emitting fields in descending
alignment order, with a heuristic for filling in words when alignment
of the end of the block header is insufficient for the most aligned
field.
llvm-svn: 125005
|
| |
|
|
| |
llvm-svn: 125000
|
| |
|
|
|
|
| |
linkage, we should change its linkage instead of asserting.
llvm-svn: 124986
|
| |
|
|
|
|
| |
linkage so devirtualized function calls can also be de-thunked.
llvm-svn: 124984
|
| |
|
|
| |
llvm-svn: 124983
|
| |
|
|
|
|
| |
templates, a C++0x feature.
llvm-svn: 124973
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
overridden via remapping. Thus, when we create a "virtual" file in the
file manager, we still stat() the real file that lives behind it so
that we can provide proper uniquing based on inodes. This helps keep
the file manager much more consistent.
To take advantage of this when reparsing files in libclang, we disable
the use of the stat() cache when reparsing or performing code
completion, since the stat() cache is very likely to be out of date in
this use case.
llvm-svn: 124971
|
| |
|
|
|
|
| |
and probably only works for very basic use cases.
llvm-svn: 124970
|
| |
|
|
|
|
|
|
| |
GetOrCreateLLVMFunction so that we
won't assert when building a thunk for an implicit virtual member function that is not marked used.
llvm-svn: 124967
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A common pattern in classes with multiple initializers is to put the
subclass's common initialization bits into a static function that receives
the value of 'self', e.g:
if (!(self = [super init]))
return nil;
if (!(self = _commonInit(self)))
return nil;
It was reported that 'self' was not set to the result of [super init].
Until we can use inter-procedural analysis, in such a call, transfer the
ObjCSelfInitChecker flags associated with 'self' to the result of the call.
Fixes rdar://8937441 & http://llvm.org/PR9094
llvm-svn: 124940
|
| |
|
|
|
|
|
|
|
| |
say "out-of-line definition differ from the declaration in the return type" instead of
the silly "functions that differ only in their return type cannot be overloaded".
Addresses rdar://7980179.
llvm-svn: 124939
|
| |
|
|
|
|
| |
We now emit everything except unused implicit virtual member functions when building the vtable.
llvm-svn: 124935
|
| |
|
|
| |
llvm-svn: 124924
|
| |
|
|
|
|
|
|
| |
when selector metadata is generated, which is triggered
by at least on class implementation. This is to match gcc's
behavior. // rdar://8851684.
llvm-svn: 124909
|
| |
|
|
|
|
| |
we captured in the dependent case.
llvm-svn: 124887
|
| |
|
|
|
|
| |
Patch by Renato Golin!
llvm-svn: 124878
|
| |
|
|
| |
llvm-svn: 124875
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
id-expression, e.g.,
CurrentClass<T>::member
Previously, if CurrentClass<T> was dependent and not complete, we
would treat it as a dependent-scoped declaration reference expression,
even if CurrentClass<T> referred to the current instantiation.
Fixes PR8966 and improves type checking of templates.
llvm-svn: 124867
|
| |
|
|
|
|
|
| |
bit-field width nor the initializer value are type- or
value-dependent. Fixes PR8712.
llvm-svn: 124866
|
| |
|
|
|
|
|
| |
cv-qualifiers on the object against the cv-qualifiers on the member
function. Fixes PR8315.
llvm-svn: 124865
|
| |
|
|
| |
llvm-svn: 124863
|
| |
|
|
|
|
|
| |
lists with zero template arguments. Fixes some seriously scary
crashers in C++ PCH.
llvm-svn: 124862
|
| |
|
|
|
|
|
| |
C, then hitting an assertion because C code shouldn't try to parse
optional nested-name-specifiers. Fixes PR9137.
llvm-svn: 124860
|
| |
|
|
|
|
| |
anything but a instance method to a warning.
llvm-svn: 124858
|
| |
|
|
|
|
| |
[temp.param]p9 and C++ DR226. Fixes PR8747.
llvm-svn: 124856
|
| |
|
|
|
|
|
|
|
|
| |
it's okay for the following template parameters to not have default
arguments (since those template parameters can still be
deduced). Also, downgrade the error about default template arguments
in function templates to an extension warning, since this is a
harmless C++0x extension.
llvm-svn: 124855
|
| |
|
|
|
|
| |
might expect.
llvm-svn: 124848
|
| |
|
|
| |
llvm-svn: 124837
|
| |
|
|
| |
llvm-svn: 124835
|
| |
|
|
|
|
| |
abi.
llvm-svn: 124834
|
| |
|
|
|
|
|
| |
or source locations that refer into a macro instantiation, delete all
of the Fix-Its on that diagnostic.
llvm-svn: 124833
|