- Jun 26, 2009
-
-
Owen Anderson authored
llvm-svn: 74248
-
Nate Begeman authored
llvm-svn: 74247
-
Chris Lattner authored
llvm-svn: 74246
-
Ted Kremenek authored
llvm-svn: 74245
-
Ted Kremenek authored
llvm-svn: 74244
-
Dan Gohman authored
llvm-svn: 74243
-
Dan Gohman authored
an invoke instruction, since the value isn't really live across that edge. llvm-svn: 74242
-
Evan Cheng authored
llvm-svn: 74241
-
Dan Gohman authored
llvm-svn: 74240
-
Evan Cheng authored
llvm-svn: 74239
-
Ted Kremenek authored
llvm-svn: 74238
-
Evan Cheng authored
llvm-svn: 74237
-
Evan Cheng authored
llvm-svn: 74236
-
Owen Anderson authored
llvm-svn: 74235
-
Owen Anderson authored
llvm-svn: 74234
-
Ted Kremenek authored
llvm-svn: 74233
-
Douglas Gregor authored
For a FunctionDecl that has been instantiated due to template argument deduction, we now store the primary template from which it was instantiated and the deduced template arguments. From this information, we can instantiate the body of the function template. llvm-svn: 74232
-
Ted Kremenek authored
llvm-svn: 74231
-
Owen Anderson authored
llvm-svn: 74230
-
Ted Kremenek authored
GRTransferFuncs had the conflated role of both constructing SVals (symbolic expressions) as well as handling checker-specific logic. Now SValuator has the role of constructing SVals from expressions and GRTransferFuncs just handles checker-specific logic. The motivation is by separating these two concepts we will be able to much more easily create richer constraint-generating logic without coupling it to the main checker transfer function logic. We now have one implementation of SValuator: SimpleSValuator. SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals (which is removed in this patch). This includes the logic for EvalBinOp, EvalCast, etc. Because SValuator has a narrower role than the old GRTransferFuncs, the interfaces are much simpler, and so is the implementation of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of SVal-related logic in GRSimpleVals and cleaned it up while moving it over to SimpleSValuator. As a consequence of removing GRSimpleVals, there is no longer a '-checker-simple' option. The '-checker-cfref' did everything that option did but also ran the retain/release checker. Of course a user may not always wish to run the retain/release checker, nor do we wish core analysis logic buried in the checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp to separate out these pieces into the core analysis engine. llvm-svn: 74229
-
Evan Cheng authored
llvm-svn: 74228
-
Owen Anderson authored
llvm-svn: 74227
-
Owen Anderson authored
llvm-svn: 74226
-
Owen Anderson authored
llvm-svn: 74225
-
Nate Begeman authored
llvm-svn: 74224
-
David Goodwin authored
llvm-svn: 74223
-
Owen Anderson authored
llvm-svn: 74222
-
Nate Begeman authored
llvm-svn: 74221
-
Nate Begeman authored
llvm-svn: 74220
-
David Goodwin authored
llvm-svn: 74219
-
Daniel Dunbar authored
llvm-svn: 74218
-
Nate Begeman authored
llvm-svn: 74217
-
Fariborz Jahanian authored
llvm-svn: 74216
-
Devang Patel authored
llvm-svn: 74215
-
Argyrios Kyrtzidis authored
llvm-svn: 74214
-
Douglas Gregor authored
templates. For example, this now type-checks (but does not instantiate the body of deref<int>): template<typename T> T& deref(T* t) { return *t; } void test(int *ip) { int &ir = deref(ip); } Specific changes/additions: * Template argument deduction from a call to a function template. * Instantiation of a function template specializations (just the declarations) from the template arguments deduced from a call. * FunctionTemplateDecls are stored directly in declaration contexts and found via name lookup (all forms), rather than finding the FunctionDecl and then realizing it is a template. This is responsible for most of the churn, since some of the core declaration matching and lookup code assumes that all functions are FunctionDecls. llvm-svn: 74213
-
Evan Cheng authored
llvm-svn: 74212
-
- Jun 25, 2009
-
-
Bill Wendling authored
llvm-svn: 74211
-
Owen Anderson authored
llvm-svn: 74210
-
Owen Anderson authored
Windows people, please double-check/patch this. llvm-svn: 74209
-