- Feb 09, 2011
-
-
Douglas Gregor authored
and we later find the definition, make sure that we add the definition (not the declaration) to the list of deferred definitions to emit. Fixes PR8864. Thanks to Nick Lewycky for testing this patch out llvm-svn: 125157
-
Ken Dyck authored
functionality intended. llvm-svn: 125156
-
Ted Kremenek authored
static analyzer: Further reduce the analyzer's memory usage when analyzing sqlite3 by 7-10% by recylcing "uninteresting" ExplodedNodes. The optimization involves eagerly pruning ExplodedNodes from the ExplodedGraph that contain practically no difference between the predecessor and successor nodes. For example, if the state is different between a predecessor and a node, the node is left in. Only for the 'environment' component of the state do we not care if the ExplodedNodes are different. This paves the way for future optimizations where we can reclaim the environment objects. llvm-svn: 125154
-
John McCall authored
Also, reorganize and make very explicit the logic for determining the value kind and type of a referenced declaration. llvm-svn: 125150
-
Devang Patel authored
destructor or copy constructor than let debug info know about it. Radar 8945514. llvm-svn: 125142
-
- Feb 08, 2011
-
-
Ted Kremenek authored
analyzer, retain/release checker: Remove hack where objects passed in message to 'self' are no longer tracked. llvm-svn: 125130
-
Rafael Espindola authored
llvm-svn: 125129
-
John McCall authored
linkage rather than the presence of the 'static' storage class specifier. Fixes rdar://problem/8814626. llvm-svn: 125126
-
Fariborz Jahanian authored
setter and getter types mismatch. // rdar://8966864 llvm-svn: 125125
-
Argyrios Kyrtzidis authored
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
-
Argyrios Kyrtzidis authored
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.cpp -> lib/StaticAnalyzer/Checkers/ExperimentalChecks.cpp llvm-svn: 125123
-
Argyrios Kyrtzidis authored
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.h -> lib/StaticAnalyzer/Checkers/ExperimentalChecks.h llvm-svn: 125122
-
Argyrios Kyrtzidis authored
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineInternalChecks.h -> lib/StaticAnalyzer/Checkers/InternalChecks.h llvm-svn: 125121
-
Douglas Gregor authored
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
-
Peter Collingbourne authored
llvm-svn: 125115
-
Peter Collingbourne authored
llvm-svn: 125114
-
Benjamin Kramer authored
llvm-svn: 125111
-
John McCall authored
llvm-svn: 125104
-
Argyrios Kyrtzidis authored
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
-
Fariborz Jahanian authored
in liu of a class method getter. // rdar://8962253 llvm-svn: 125094
-
Douglas Gregor authored
format, so that llvm-bcanalyzer knows about all of the various record kinds. llvm-svn: 125086
-
John McCall authored
Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. llvm-svn: 125085
-
John McCall authored
mutable fields and with trivial destructors and copy constructors. llvm-svn: 125073
-
Douglas Gregor authored
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
-
Ken Dyck authored
functionality intended. llvm-svn: 125069
-
John McCall authored
on invalid code and we don't really care, so kill it harder. llvm-svn: 125068
-
Fariborz Jahanian authored
in liu of a class method getter. objc++ uses a different code path and is more involved (TBD). llvm-svn: 125061
-
- Feb 07, 2011
-
-
John McCall authored
llvm-svn: 125021
-
John McCall authored
- 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
-
Anton Yartsev authored
llvm-svn: 125000
-
- Feb 06, 2011
-
-
Anders Carlsson authored
Fix self-host; if a thunk already exists and has available_externally linkage, we should change its linkage instead of asserting. llvm-svn: 124986
-
Anders Carlsson authored
When building with optimizations, emit thunks with available_externally linkage so devirtualized function calls can also be de-thunked. llvm-svn: 124984
-
Anders Carlsson authored
llvm-svn: 124983
-
- Feb 05, 2011
-
-
Douglas Gregor authored
templates, a C++0x feature. llvm-svn: 124973
-
Douglas Gregor authored
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
-
Sebastian Redl authored
Basic implementation of inherited constructors. Only generates declarations, and probably only works for very basic use cases. llvm-svn: 124970
-
Anders Carlsson authored
won't assert when building a thunk for an implicit virtual member function that is not marked used. llvm-svn: 124967
-
Argyrios Kyrtzidis authored
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
-
Argyrios Kyrtzidis authored
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
-
Anders Carlsson authored
We now emit everything except unused implicit virtual member functions when building the vtable. llvm-svn: 124935
-