aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-02-05Added pretty-printing support for lval::SymIntConstraintVal andTed Kremenek
nonlval::SymIntConstraintVal. Reworked transfer function for '==' and '!=' for LValues to return SymIntConstraintVal when comparing a symbol with a constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46778 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Handle simple asm statements correctly.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46777 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46774 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Moved implementation of cast<> for SymbolData closer to SymbolData's definition.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46772 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Added new "NonLValue" class: SymIntConstraintVal. This class represents a binaryTed Kremenek
contraint between a symbol and an integer constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46771 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Moved subclasses of LValue and NonLValue into their own namespaces.Ted Kremenek
This noticeably cleans up the naming of these classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46770 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Added "SymIntConstraint", a utility class to represent intermediate values forTed Kremenek
transfer function evaluation that represent constraints between symbolic values and constant integers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46769 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Fix Parser::ParseObjCTryStmt() to allow for trailing @-keyword ↵Steve Naroff
statements/expressions. This bug fix is the result of not having 2-token lookahead to recognize specific @-keywords. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46768 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Add some binops.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05More improvements to inline asm CG.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46762 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Added "batch" processing versions of Nodify and SetValue. Created typedefsTed Kremenek
for buffers for RValues and States. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46759 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Added a "ConstantNotEq" map to ValueState (and added necessary typedefs and ↵Ted Kremenek
factory objects to ValueStateManager). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46758 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Added some comments.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46756 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Renamed typedef "iterator" in ValueState to "vb_iterator" (for ↵Ted Kremenek
"VariableBindings"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46755 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Reordered fields/methods in ValueState to make it more aesthetically pleasing.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Use correct flag value.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46752 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Append input argument to args vector.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Add code generation for inline asm statements.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46750 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05rewrite some of the type refinement code to eliminate dangling pointersChris Lattner
simplify the code and generally make it more robust. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Overhauling of "ValueState" so that it represents its own functional dataTed Kremenek
structure that can contain several maps, not just one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Change the key of CGRecordLayouts from being an llvm type* to being a decl*. ↵Chris Lattner
LLVM Type*'s can change as types are refined, so we can't use them as a stable key in the map. Decls don't change, so use them instead. This patch was written by Anders, but he's too shy to commit it himself :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Relax an assertion, fixing PR1968Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46742 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05ValueManager now uses the BumpPtrAllocator owned by the ExplodedGraph.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Update outdated comment.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46737 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Cleanup InitListExpr code generation code.Devang Patel
Handle padding fields while initializing struct (fix PR 1962) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46736 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Fix memory corruption from the type map being modified while a reference Eli Friedman
to a cell is being held. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46735 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Keep track of padding fields.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46734 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Simplified transfer functions for '++' and '--'Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Implemented initial transfer function support for '&&', '||', '?', andTed Kremenek
__builtin_choose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46731 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Added file that should have been in my previous commit.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46722 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Created ValueStateManager, a full-blown class to manage the statesTed Kremenek
created for GRConstants. Moved instances of ValueManager and SymbolManager inside this class. The goal is to gradually separate more of the state management from the state transformation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Implemented transfer function for unary '~'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46708 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Add ending newline to test.Christopher Lamb
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46692 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Add experimental support for address space qualified types. Address spaceChristopher Lamb
qualifiers use the __attribute__((address_space(id))) syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46691 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03- ccc creates output objects in same directory as the source file, andBill Wendling
not in the current directory. This doesn't work with VPATH builds in autotooled builds. - ccc now creates object files without an extension. - Return exit code 1 if code > 255. Patch by Torok! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46689 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03Fix PR1966 by ignoring non-error diagnostics from system headers even if ↵Chris Lattner
they are *mapped* onto errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46686 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03the macro start and macro end bits in source location are dead, remove them.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46685 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03Make ccc work with older Python versions. Patch by Sam Bishop.Seo Sanghyeon
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46675 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02Implement support for __extension__ which silences extwarnings in its Chris Lattner
scope. This is part of the fix for PR1966 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46669 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02minor tweak to anders patch: (only) ocu vectors support splatting, butChris Lattner
ocu vectors should not treat bitcasts from int <-> vector as a splat unless it is of the element type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46664 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02Add RUN line.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02testcase for previous patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02fix codegen on static variables which have multiple decl nodes. These Chris Lattner
should be merged just like normal globals. This fixes this testcase that Anders provided: static struct s a; static struct s *ap1 = &a; static struct s a = { 10 }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46661 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02Cleanup previous patch (based on feedback from Ted).Steve Naroff
Since this behavior is useful for most classes, we might consider adding a simple 3 method class that implements the behavior. Ted said that Boost has such a class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46654 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Make sure SourceManager/HeaderSearch don't support default copy constructors ↵Steve Naroff
(since they result in bad runtime behavior). I'm sure there are other classes that might need this "guard", however I was bitten by these 2 recently (so I thought I'd fix them). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46653 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Add trailing newline.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46652 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Only OCU vectors can be splatted.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46651 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Rename diagnostic to reflect it's role...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46650 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Minor API cleanup...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46649 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Remove temporary workaround (thanks to Ted for fixing ObjCAtCatchStmt so ↵Steve Naroff
quickly:-). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46648 91177308-0d34-0410-b5e6-96231b3b80d8