- Oct 28, 2011
-
-
Fariborz Jahanian authored
an rvalue retainable object type with life-time qualifier has no effect and wil be diagnosed as error. // rdar://10244607 llvm-svn: 143219
-
Ted Kremenek authored
[analyzer] ObjC message sends to nil receivers that return structs are now okay (compiler zeroes out the data). Fixes <rdar://problem/9151319>. llvm-svn: 143215
-
David Chisnall authored
llvm-svn: 143205
-
Richard Smith authored
are present in all the necessary places: In constant expression evaluation, evaluate lvalues as lvalues and rvalues as rvalues. Remove special case for caching reference initialization and fix a cyclic initialization crash in the process. llvm-svn: 143204
-
Benjamin Kramer authored
llvm-svn: 143192
-
Richard Smith authored
to catch some future implicit lvalue-to-rvalue casts of inappropriate kinds. llvm-svn: 143182
-
John McCall authored
a binary operator involving a dependently-typed overload set. llvm-svn: 143172
-
Richard Trieu authored
string is part of the function call, then there is no difference. If the format string is not, the warning will point to the call site and a note will point to where the format string is. Fix-it hints for strings are moved to the note if a note is emitted. This will prevent changes to format strings that may be used in multiple places. llvm-svn: 143168
-
Richard Smith authored
llvm-svn: 143166
-
Richard Smith authored
rvalue. An assertion to catch this is in ImpCastExprToType will follow, but vector operations currently trip over this (due to omitting the usual arithmetic conversions). Also add an assert to catch missing lvalue-to-rvalue conversions on the LHS of ->. llvm-svn: 143155
-
- Oct 27, 2011
-
-
Fariborz Jahanian authored
property refactoring. // rdar://10327068 llvm-svn: 143139
-
Ted Kremenek authored
Add mutex for accessing ASTUnit's global OnDisk data. This may be an issue as libclang could be processing multiple ASTUnit's at once. llvm-svn: 143138
-
Peter Collingbourne authored
The OpenCL single precision division operation is only required to be accurate to 2.5ulp. Annotate the fdiv instruction with metadata which signals to the backend that an imprecise divide instruction may be used. llvm-svn: 143136
-
Argyrios Kyrtzidis authored
of decl bit offsets. This allows us to easily get at the location of a decl without deserializing it. It increases size of Cocoa PCH by only 0.2%. llvm-svn: 143123
-
Ted Kremenek authored
Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>. llvm-svn: 143115
-
Douglas Gregor authored
AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded. The eager reloading made some sense in the context of precompiled headers, since very few identifiers were defined before PCH load time. With modules, however, a huge amount of code can get parsed before we see an @import, so laziness becomes important here. The approach taken to make this information lazy is fairly simple: when we load a new AST file, we mark all of the existing identifiers as being out-of-date. Whenever we want to access information that may come from an AST (e.g., whether the identifier has a macro definition, or what top-level declarations have that name), we check the out-of-date bit and, if it's set, ask the AST reader to update the IdentifierInfo from the AST files. The update is a merge, and we now take care to merge declarations before/after imports with declarations from multiple imports. The results of this optimization are fairly dramatic. On a small application that brings in 14 non-trivial modules, this takes modules from being > 3x slower than a "perfect" PCH file down to 30% slower for a full rebuild. A partial rebuild (where the PCH file or modules can be re-used) is down to 7% slower. Making the PCH file just a little imperfect (e.g., adding two smallish modules used by a bunch of .m files that aren't in the PCH file) tips the scales in favor of the modules approach, with 24% faster partial rebuilds. This is just a first step; the lazy scheme could possibly be improved by adding versioning, so we don't search into modules we already searched. Moreover, we'll need similar lazy schemes for all of the other lookup data structures, such as DeclContexts. llvm-svn: 143100
-
Hans Wennborg authored
The code had it backwards, thinking size_t was signed, and using that for "%zd". Also let the analysis get the types for (u)intmax_t while we are at it. llvm-svn: 143099
-
Anna Zaks authored
llvm-svn: 143090
-
Anna Zaks authored
Enqueue the nodes generated as the result of processing a statement inside the Core Engine. This makes sure ExpEngine does not access CoreEngine's private members and is more concise. llvm-svn: 143089
-
Argyrios Kyrtzidis authored
llvm-svn: 143088
-
-
Argyrios Kyrtzidis authored
llvm-svn: 143084
-
Fariborz Jahanian authored
decl. in Darwin due to certain projects requirement. // rdar://10277579 llvm-svn: 143082
-
- Oct 26, 2011
-
-
Anna Zaks authored
CheckerContext::getPredecessor is only used to get to the LocationContext half of the times. llvm-svn: 143061
-
Anna Zaks authored
The path sensitive checkers should use EmitBasicReport, which provides the node information. llvm-svn: 143060
-
Anna Zaks authored
Also document addTransition methods. llvm-svn: 143059
-
Anna Zaks authored
Remove GenericNodeBuilder and use a class inherited from NodeBuilder instead. llvm-svn: 143057
-
Fariborz Jahanian authored
value and ABI requires return slot to be passed as first argument to message sent. // rdar://10331109 llvm-svn: 143053
-
Rafael Espindola authored
itself via an asm label. available_externally functions are supposed to correspond to an external function, and that is not the case in the examples in pr9614. llvm-svn: 143049
-
Richard Smith authored
implicitly in LookupMemberExpr and explicitly in cases where template instantiation doesn't redo the lookup. llvm-svn: 143046
-
Douglas Gregor authored
essence, the redeclaration chain for a class could end up in an inconsistent state while deserializing multiple declarations in that chain, where the circular linked list was not, in fact, circular. Since only two redeclarations of the same entity will get loaded when we're in this state, restore circularity when both have been loaded. Fixes <rdar://problem/10324940> / PR11195. llvm-svn: 143037
-
Eli Friedman authored
llvm-svn: 143021
-
Eli Friedman authored
Correctly perform integral promotions on wchar_t/char16_t/char32_t in C++. <rdar://problem/10309088>. llvm-svn: 143019
-
Richard Smith authored
member expression. Refactoring to follow. llvm-svn: 143017
-
Richard Smith authored
instantiations too. llvm-svn: 143016
-
- Oct 25, 2011
-
-
Anna Zaks authored
A step toward making sure that diagnostics report should only be generated though the CheckerContext and not though BugReporter or ExprEngine directly. llvm-svn: 142947
-
Anna Zaks authored
Remove dead members/parameters: ProgramState, respondsToCallback, autoTransition. Remove addTransition method since it's the same as generateNode. Maybe we should rename generateNode to genTransition (since a transition is always automatically generated)? llvm-svn: 142946
-
Anna Zaks authored
llvm-svn: 142945
-
Anna Zaks authored
Now, all the path sensitive checkers use CheckerContext! llvm-svn: 142944
-
Anna Zaks authored
Get rid of the EndOfPathBuilder completely. Use the generic NodeBuilder to generate nodes. Enqueue the end of path frontier explicitly. llvm-svn: 142943
-