summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Fix typoAnders Carlsson2008-02-161-1/+1
| | | | llvm-svn: 47199
* Handle packed attribute correctlyAnders Carlsson2008-02-163-5/+41
| | | | llvm-svn: 47197
* Address comments from Chris.Anders Carlsson2008-02-162-3/+3
| | | | llvm-svn: 47195
* Store attributes in a global hash map instead.Anders Carlsson2008-02-152-1/+11
| | | | llvm-svn: 47193
* Store attributes in a global hash map instead.Anders Carlsson2008-02-153-15/+50
| | | | llvm-svn: 47191
* Refactored code for transfer functions for binary operators involving two ↵Ted Kremenek2008-02-155-33/+38
| | | | | | | | | | | | 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
* Set Ubuntu 7.10 c++ include path.Lauro Ramos Venancio2008-02-151-0/+7
| | | | llvm-svn: 47186
* Add c++ to "inferlanguage"Lauro Ramos Venancio2008-02-151-0/+2
| | | | llvm-svn: 47185
* Added transfer function support for conditional branches with a NULL ↵Ted Kremenek2008-02-151-5/+30
| | | | | | | | 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
* Simplified transfer function logic for ++/-- operators.Ted Kremenek2008-02-158-81/+90
| | | | | | | | | 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
* Added predicate function "UnaryOperator::isIncrementOp()".Ted Kremenek2008-02-151-0/+1
| | | | llvm-svn: 47181
* Don't call non-existent method... sorry about the spam; the fix seemed Eli Friedman2008-02-151-1/+1
| | | | | | trivial, but I forgot that method doesn't exist yet. llvm-svn: 47175
* Get rid of unused variable warning.Eli Friedman2008-02-151-1/+1
| | | | llvm-svn: 47174
* Split out incomplete arrays from VariableArrayType into Eli Friedman2008-02-158-100/+163
| | | | | | | | | | 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
* Fix PR2041: restrict is not a keyword in c90.Chris Lattner2008-02-152-1/+4
| | | | llvm-svn: 47160
* Part of clearing up the whole VariableArrayType + incomplete arrays Eli Friedman2008-02-151-20/+9
| | | | | | thing. Some cleanups that can be done independently of the fix. llvm-svn: 47158
* Remove unnecessary references to VariableArrayType from Analysis.Eli Friedman2008-02-151-2/+2
| | | | llvm-svn: 47157
* Remove useless parameter from isConstantSizeType.Eli Friedman2008-02-155-11/+11
| | | | llvm-svn: 47156
* Get rid of AttributeList in the AST and use the new Attr class insteadAnders Carlsson2008-02-154-22/+30
| | | | llvm-svn: 47155
* Get rid of outdated code that masks type errors. Fixes PR2036.Eli Friedman2008-02-152-10/+2
| | | | llvm-svn: 47154
* Nevermind, these tests work... I messed up my testing.Eli Friedman2008-02-151-4/+2
| | | | llvm-svn: 47153
* Partial fix for struct compatibility; there's still something messy Eli Friedman2008-02-152-12/+23
| | | | | | going on with mixing scopes, though. llvm-svn: 47152
* Added boilerplate transfer function support for pointer arithmetic operations.Ted Kremenek2008-02-155-2/+35
| | | | llvm-svn: 47147
* Added --grsimple-view option to clang driver; this is the same asTed Kremenek2008-02-155-9/+18
| | | | | | | | --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
* Added "symbol iterators" for RValues, allowing easy iteration over the symbolsTed Kremenek2008-02-144-19/+73
| | | | | | | | 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
* When visualizing ExplodedNodes created by GRExprEngine, color nodes withTed Kremenek2008-02-141-1/+10
| | | | | | null-dereferences or bad control-flow red. llvm-svn: 47140
* Don't analyze functions when we have parse errors.Ted Kremenek2008-02-141-0/+3
| | | | llvm-svn: 47139
* Renamed GRConstants => GRSimpleVals.Ted Kremenek2008-02-148-51/+60
| | | | | | Moved driver logic for --grsimple to GRSimpleVals.cpp. llvm-svn: 47137
* #include cleanups in GRExprEngine.cpp/GRExprEngine.h. Moved GRExprEngine toTed Kremenek2008-02-142-286/+286
| | | | | | clang namespace. llvm-svn: 47136
* Partitioned definition/implementation of GRExperEngine into .h and .cpp.Ted Kremenek2008-02-142-337/+345
| | | | | | Still some cleanup to do, but this initial checkin compiles and runs correctly. llvm-svn: 47135
* Migrated transfer functions for binary operators for simple value trackingTed Kremenek2008-02-147-91/+227
| | | | | | from RValues to GRTransferFuncs/GRSimpleVals. llvm-svn: 47131
* ParseCompoundStatementBody expects to only be called with { as the currentChris Lattner2008-02-141-2/+12
| | | | | | token. Diagnose when the { is missing in objc @try blocks instead of aborting. llvm-svn: 47130
* Migrated transfer functions for unary "~" and "-" to ↵Ted Kremenek2008-02-146-23/+50
| | | | | | GRTransferFuncs/GRSimpleVals. llvm-svn: 47126
* Started partitioning of transfer function logic (and thus the policy behind Ted Kremenek2008-02-147-57/+193
| | | | | | | | | | 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
* Moved Rvalues.h from "Analysis/" to "include/clang/Analysis/PathSensitive".Ted Kremenek2008-02-144-4/+2
| | | | llvm-svn: 47123
* Completed noteNate Begeman2008-02-141-26/+0
| | | | llvm-svn: 47120
* Address comments from Chris.Anders Carlsson2008-02-141-19/+13
| | | | llvm-svn: 47118
* Add Attr.h which is an AST-level class for GCC attributes.Anders Carlsson2008-02-142-0/+77
| | | | llvm-svn: 47112
* Remove DeclSpec::Invalid, a recently added bool that allowed the parser to ↵Steve Naroff2008-02-142-12/+1
| | | | | | | | 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
* A much better fix for http://llvm.org/bugs/show_bug.cgi?id=1987.Steve Naroff2008-02-143-6/+23
| | | | llvm-svn: 47103
* Added support to GRCoreEngine/GRExprEngine for processing control-flowTed Kremenek2008-02-134-6/+267
| | | | | | from switch...case...default statements. llvm-svn: 47100
* Adjust for APInt's isPositive being renamed to isNonNegative.Dan Gohman2008-02-131-6/+6
| | | | llvm-svn: 47091
* When creating the CFGBlocks for a switch statement, we now have the "default"Ted Kremenek2008-02-131-18/+41
| | | | | | | | | | | | | | | | | | | | | | 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
* Fixed bug in CFG construction when processing switch statements that contain noTed Kremenek2008-02-131-0/+16
| | | | | | | | "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
* Fixed 80 col violations.Ted Kremenek2008-02-131-6/+6
| | | | llvm-svn: 47076
* avoid making implicit casts that just remove typedefs.Chris Lattner2008-02-131-1/+1
| | | | llvm-svn: 47074
* Unbreak the build.Ted Kremenek2008-02-131-1/+1
| | | | llvm-svn: 47072
* Renamed files to match class renaming in r47070:Ted Kremenek2008-02-133-0/+0
| | | | | | http://llvm.org/viewvc/llvm-project?rev=47070&view=rev llvm-svn: 47071
* Renamed class GREngine => GRCoreEngine.Ted Kremenek2008-02-139-111/+111
| | | | | | | | | 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
* Fix a minor bug in isNullPointerConstant triggered by the linux Eli Friedman2008-02-132-1/+4
| | | | | | | | | tgmath.h. Note that there is another issue with tgmath.h, so mandel.c still doesn't work. llvm-svn: 47069
OpenPOWER on IntegriCloud