aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-16Trivial tidyingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59424 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16add PTHLexer.h to projectChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59423 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16fix folding of comma if given a non-constant operand.Nuno Lopes
Eli please take a look, as I'm not sure if this gets the extension warning in the right place git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59422 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16make IntExprEvaluator fold the ?: operatorNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59421 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16More work on the constant evaluator. Eli, it would be great if you could ↵Anders Carlsson
have a look at this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59420 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Fix PR3075, __builtin_stdarg_start being misprototyped. This affects netbsd ↵Chris Lattner
headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Fix PR3077: tokens that come from macro expansions whose macro wasChris Lattner
defined in a system header should be treated as system header tokens even if they are instantiated in a different place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59418 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16add targe triple commandline option to fix test failure on Linux.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59412 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16add dump and print methods, add operator<< for APValue.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59411 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16move some APValue methods out of line.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59410 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Add the ability to evaluate comparison operators with floating point numbers ↵Anders Carlsson
as operands. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Enhance modularization: return a <state,loc> pair to let GRExprEngine modify theZhongxing Xu
environment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59407 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16More constant expr work.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59405 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16daniel prefers completed thoughts.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59404 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Re-enable array-struct test.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59396 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16Enhances SCA to process untyped region to typed region conversion.Zhongxing Xu
- RegionView and RegionViewMap is introduced to assist back-mapping from super region to subregions. - GDM is used to carry RegionView information. - AnonTypedRegion is added to represent a typed region introduced by pointer casting. Later AnonTypedRegion can be used in other similar cases, e.g., malloc()'ed region. - The specific conversion is delegated to store manager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59382 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Start implementing support for @synchonized with the darwin ObjC API.Chris Lattner
Patch by Fariborz! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59377 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Check in code that uses tryEvaluate for emitting constant exprs (not used yet).Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59375 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Handle padding in the constant CFString struct. Fixes PR3046.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59372 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Use IgnoreParenCasts. No functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59371 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Use the allocator of ExplodedGraph. The whole static analysis module uses it.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59359 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Fix silly bug spotted by Daniel DunbarAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Improve zero value generation.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59356 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Add isUnsigned option.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Reduce permissiveness of assertion.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59354 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59353 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Add a test case for compound assignments that lazily symbolicate the value ↵Ted Kremenek
of the LHS when the computation type is an integer of more bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59352 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Reverted part of r59335: ↵Ted Kremenek
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20081110/009243.html In that patch I added a bogus type promotion for unary '!'. The real bug was more fallout from edges cases with compound assignments and conjured symbolic values. Now the conjured value has the type of the LHS expression, and we do a promotion to the computation type. We also now correctly do a conversion from the computation type back to the LHS type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Re-enable an assertion that I mistakenly removed.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59348 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Handle complex return values.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59345 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Use the correct QualType when creating the '0' constant.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59343 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Implement FIXME in GRExprEngine::VisitUnaryOperator() to handle implicit ↵Ted Kremenek
conversions caused by the '!' operator. This required adding some logic to GRSimpleVals to reason about nonloc::LocAsInteger SVals. This code appears to work fine, but it should eventually be cleaned up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59335 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15Flush llvm::errs() when printing out SVals.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59334 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Add handy method.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59332 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Implement parsing and semantic checking of the 'mutable' keyword.Sebastian Redl
Thanks to Doug for the review. Actual effects of mutable to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59331 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Use ReadPtr, not ReadUIntPtr through a reinterpret_cast.Argyrios Kyrtzidis
Thanks to Sebastian for the suggestion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Remove Parser::isTokenUnqualifiedId, it's not getting used anywhere.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59323 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Fix <rdar://problem/6372970> clang ObjC rewriter: incorrect cast when ↵Steve Naroff
passing block argument SynthBlockInitExpr() was not adding by-ref arguments to the init expr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Minor tweaks to liveness analysis:Ted Kremenek
- Block-expression for 'ObjCForCollectionStmt' is not alive before it occurs - Recursively visit 'element' expression for ObjCForCollectionStmt to get liveness for referenced block-level expressions and variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59316 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Second attempt at implementation transfer function support for ↵Ted Kremenek
ObjCForCollectionStmt. We now assume that the 'element' expression can be any lvalue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Flow-sensitive uninitialized values analysis: properly handle the 'element' ↵Ted Kremenek
expression of ObjCForCollectionStmt (can be anything). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Add a new expression node, CXXOperatorCallExpr, which expresses aDouglas Gregor
function call created in response to the use of operator syntax that resolves to an overloaded operator in C++, e.g., "str1 + str2" that resolves to std::operator+(str1, str2)". We now build a CXXOperatorCallExpr in C++ when we pick an overloaded operator. (But only for binary operators, where we actually implement overloading) I decided *not* to refactor the current CallExpr to make it abstract (with FunctionCallExpr and CXXOperatorCallExpr as derived classes). Doing so would allow us to make CXXOperatorCallExpr a little bit smaller, at the cost of making the argument and callee accessors virtual. We won't know if this is going to be a win until we can parse lots of C++ code to determine how much memory we'll save by making this change vs. the performance penalty due to the extra virtual calls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59306 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Fix <rdar://problem/6370288> clang ObjC rewriter: Too many _objc_symtab, ↵Steve Naroff
_OBJC_SYMBOLS git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59301 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Don't require us to manually number the statements and expressions in ↵Douglas Gregor
StmtNodes.def. We don't need stable numbers yet, renumbering is a pain, and LAST_STMT had the wrong value anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59300 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Improve comments.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59294 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Handle the case where 'element' in ObjCforCollectionstmt is not a DeclStmt ↵Ted Kremenek
or DeclRefExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Fix CFG construction for ObjCForCollectionStmt: 'element' expression can be ↵Ted Kremenek
anything that evaluates to an lvalue git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Rename header file.Ted Kremenek
Update include files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59284 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14Rename ExprDeclBitVector to BlkExprDeclBitVector, and store mappings from ↵Ted Kremenek
Stmt* to bit indices instead using Expr*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59283 91177308-0d34-0410-b5e6-96231b3b80d8