| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 47199
|
| |
|
|
| |
llvm-svn: 47197
|
| |
|
|
| |
llvm-svn: 47195
|
| |
|
|
| |
llvm-svn: 47193
|
| |
|
|
| |
llvm-svn: 47191
|
| |
|
|
|
|
|
|
|
|
|
|
| |
LValues.
Fixed bug in transfer functions for sizeof(*); we were incorrectly evaluating to
a value of the wrong type.
Fixed bug in transfer functions for compound assignments where we did not properly
handle assignments involving dereferences of symbolic values.
llvm-svn: 47190
|
| |
|
|
| |
llvm-svn: 47186
|
| |
|
|
| |
llvm-svn: 47185
|
| |
|
|
|
|
|
|
| |
condition (e.g., "for(;;)").
Fixed bug in transfer function for compound assignment operators when both operands where variables but had a non-pointer type (we fired an assertion).
llvm-svn: 47184
|
| |
|
|
|
|
|
|
|
| |
Added more boilerplate transfer function support for pointer arithmetic.
Added more pretty-printing support for symbolic constraints.
Added transfer function support for handling enum values.
Minor pointer types cleanup in ExplodedGraphImpl.
llvm-svn: 47183
|
| |
|
|
| |
llvm-svn: 47181
|
| |
|
|
|
|
| |
trivial, but I forgot that method doesn't exist yet.
llvm-svn: 47175
|
| |
|
|
| |
llvm-svn: 47174
|
| |
|
|
|
|
|
|
|
|
| |
IncompleteArrayType. This should make code dealing with both incomplete
and variable length arrays much more readable, plus it allows properly
making the distinction between isVariableArrayType() and
isVariablyModifiedType(). The patch is a little big, but it's
strightforward. so I don't think there should be any issues.
llvm-svn: 47165
|
| |
|
|
| |
llvm-svn: 47160
|
| |
|
|
|
|
| |
thing. Some cleanups that can be done independently of the fix.
llvm-svn: 47158
|
| |
|
|
| |
llvm-svn: 47157
|
| |
|
|
| |
llvm-svn: 47156
|
| |
|
|
| |
llvm-svn: 47155
|
| |
|
|
| |
llvm-svn: 47154
|
| |
|
|
| |
llvm-svn: 47153
|
| |
|
|
|
|
| |
going on with mixing scopes, though.
llvm-svn: 47152
|
| |
|
|
| |
llvm-svn: 47147
|
| |
|
|
|
|
|
|
| |
--grsimple except that it visualizes the ExplodedGraph using dot and
outputs the current function being analyzed. --grsimple is now silent
except when it emits diagnostics.
llvm-svn: 47146
|
| |
|
|
|
|
|
|
| |
referenced by an RValue, instead of having to query the type of the RValue.
Modified ValueState::RemoveDeadBindings to also prune dead symbols.
llvm-svn: 47142
|
| |
|
|
|
|
| |
null-dereferences or bad control-flow red.
llvm-svn: 47140
|
| |
|
|
| |
llvm-svn: 47139
|
| |
|
|
|
|
| |
Moved driver logic for --grsimple to GRSimpleVals.cpp.
llvm-svn: 47137
|
| |
|
|
|
|
| |
clang namespace.
llvm-svn: 47136
|
| |
|
|
|
|
| |
Still some cleanup to do, but this initial checkin compiles and runs correctly.
llvm-svn: 47135
|
| |
|
|
|
|
| |
from RValues to GRTransferFuncs/GRSimpleVals.
llvm-svn: 47131
|
| |
|
|
|
|
| |
token. Diagnose when the { is missing in objc @try blocks instead of aborting.
llvm-svn: 47130
|
| |
|
|
|
|
| |
GRTransferFuncs/GRSimpleVals.
llvm-svn: 47126
|
| |
|
|
|
|
|
|
|
|
| |
these operations) into GRTransferFuncs and its subclasses. Originally all
of this logic was handled by the class RValue, but in reality different
analyses will want more flexibility on how they evaluate different values.
Transfer functions migrated so far: "Cast"
llvm-svn: 47125
|
| |
|
|
| |
llvm-svn: 47123
|
| |
|
|
| |
llvm-svn: 47120
|
| |
|
|
| |
llvm-svn: 47118
|
| |
|
|
| |
llvm-svn: 47112
|
| |
|
|
|
|
|
|
| |
detect if the decl spec was invalid.
For now, we will stick with the original strategy - clients of Parse::ParseDeclarationSpecifiers() should never have to know this.
llvm-svn: 47104
|
| |
|
|
| |
llvm-svn: 47103
|
| |
|
|
|
|
| |
from switch...case...default statements.
llvm-svn: 47100
|
| |
|
|
| |
llvm-svn: 47091
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
branch ALWAYS be the last successor for a switch-terminated block. This allows
clients to distinguish cases like the following:
switch(...)
case XXX:
switch(...) {
case YYY: ...
}
case ZZZ: ..
}
In this case, the block with "case ZZZ:" is the default block for the inner
switch statement, but that case is associated with the outer switch statement,
and not the inner one. Clients can test for this behavior by checking if a
successor block is the last one (and thus just assume that this is the "default"
case).
llvm-svn: 47088
|
| |
|
|
|
|
|
|
| |
"default" case. In such cases, we now correctly add the CFGBlock representing
the code after the switch statement as a successor to the block terminated by
the switch statement.
llvm-svn: 47087
|
| |
|
|
| |
llvm-svn: 47076
|
| |
|
|
| |
llvm-svn: 47074
|
| |
|
|
| |
llvm-svn: 47072
|
| |
|
|
|
|
| |
http://llvm.org/viewvc/llvm-project?rev=47070&view=rev
llvm-svn: 47071
|
| |
|
|
|
|
|
|
|
| |
Renamed class GRConstants => GRExprEngine.
This was done with a Perl script, and will result in 80 col. violations that
I will gradually fix up.
llvm-svn: 47070
|
| |
|
|
|
|
|
|
|
| |
tgmath.h.
Note that there is another issue with tgmath.h, so mandel.c still
doesn't work.
llvm-svn: 47069
|