aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-02-19Allow ArraySubscriptExpr to be a base node for vector dereference. ThisNate Begeman
allows you to do things like typedef __attribute__(( ocu_vector_type(4))) float float4; float4 *x; float y = x[0][2]; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47295 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Added FIXME for properly handling local arrays using symbolic LValues.Ted Kremenek
For now we just treat their values as "Unknown." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47294 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19--grsimple now reports the number of nodes in the ExplodedGraph forTed Kremenek
an analyzed function. GRExprEngine now records stores to "uninitialized lvalues" (which are sinks in the ExplodedGraph). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47293 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19A global without initializer must be emitted as weak.Lauro Ramos Venancio
Fix Olden/bh test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47292 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Added "size()" and "empty()" methods to ExplodedGraphImpl.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Added more assertions and checks in transfer function logic to check forTed Kremenek
UninitializedVals and UnknownVals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47288 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Implement multi-dimension array initalizer.Lauro Ramos Venancio
Fix McCat/08-main test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47286 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Running -grsimple now emits diagnostics about the time spent analyzing each ↵Ted Kremenek
function. Will probably make this a separate command line option later. Added "--analyze-function" option to the driver to (gradually) allow different analyses to only be run on specific functions. Currently only --grsimple uses this option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Temporary solution to push analysis through to analyzing PCRE.Ted Kremenek
We will implement symbol "unification" later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47284 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Add more supported constraints.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47270 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Tweak fix for http://llvm.org/bugs/show_bug.cgi?id=2000 to work across typedefs.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47269 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18More bitfield improvements.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Fix bug where we would report the wrong value for __alignof__ with an expr ↵Anders Carlsson
that is not a type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47259 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Turn handling of parameter attributes back on, fixing the ObjC breakageNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Revert this temporarily, it's breaking objc :/Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Handle parameter attributesNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47243 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Fix PR2042. One remaining issue: we don't currently diagnoseChris Lattner
int foobar(int); int foobar() {} which requires ifdef'ing out a testcase in predefined-function.c. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47236 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Change alignment for doubles to 32 bits which is what X86 has.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47234 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17Implemnt isVariablyModifiedType correctly.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47233 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16implement codegen support for aggregates casted to void.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16A couple of msvc compile fixes from the ml; I haven't tested with msvc, Eli Friedman
but the fixes are reasonable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Implement extern block var.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Add more testsAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47217 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Better handling of the aligned attribute.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47216 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16More comments from Chris.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Fix CheckEndOfDirective to diagnose lines that contain macros that expand to Chris Lattner
zero tokens. This fixes PR2045, thanks to Neil for finding another incredibly subtle corner case :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Make sizeof and __alignof work correctly with packed structs.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Further cleanup. Moved definitions for SymbolManager and ValueManager intoTed Kremenek
their own [.cpp;.h] files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47201 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Fix typoAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47199 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Handle packed attribute correctlyAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47197 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Address comments from Chris.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47195 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Store attributes in a global hash map instead.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47193 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Store attributes in a global hash map instead.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47191 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Refactored code for transfer functions for binary operators involving two ↵Ted Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47190 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Set Ubuntu 7.10 c++ include path.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47186 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Add c++ to "inferlanguage"Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47185 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Added transfer function support for conditional branches with a NULL ↵Ted Kremenek
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47184 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Simplified transfer function logic for ++/-- operators.Ted Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47183 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Added predicate function "UnaryOperator::isIncrementOp()".Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47181 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Don't call non-existent method... sorry about the spam; the fix seemed Eli Friedman
trivial, but I forgot that method doesn't exist yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47175 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Get rid of unused variable warning.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47174 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Split out incomplete arrays from VariableArrayType into Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Fix PR2041: restrict is not a keyword in c90.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47160 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Part of clearing up the whole VariableArrayType + incomplete arrays Eli Friedman
thing. Some cleanups that can be done independently of the fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47158 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Remove unnecessary references to VariableArrayType from Analysis.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47157 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Remove useless parameter from isConstantSizeType.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47156 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Get rid of AttributeList in the AST and use the new Attr class insteadAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47155 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Get rid of outdated code that masks type errors. Fixes PR2036.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47154 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Nevermind, these tests work... I messed up my testing.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47153 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Partial fix for struct compatibility; there's still something messy Eli Friedman
going on with mixing scopes, though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47152 91177308-0d34-0410-b5e6-96231b3b80d8