aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-09When evaluating pointer arithmetic, if the base location is a symbolic region,Zhongxing Xu
convert it to the first element region. Also do not assume the array region is typed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Do not create a TypedViewRegion when the base struct region is a symbolicZhongxing Xu
region. In the future we may set the cast-to type as the same time. But for now, we simply leave it as it is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09add comments to test case.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Do not layer a TypedViewRegion when casting symbolic or alloca regions.Zhongxing Xu
Modify getLValueElement accordingly. Now we don't require base region to be a typed region. Do not create TypedViewRegion when base region is symbolic or alloca region. We can do so because each element region has its type information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Remove the case for casting to compatible type in Zhongxing Xu
RegionStoreManager::CastRegion(). This case should be subsumed by others. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Correct for renaming PaddedSize -> AllocSize inDuncan Sands
LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Roll back to checker build 0.195.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Rename:Zhongxing Xu
SymbolRegionRValue => SymbolRegionValue SymExpr::RegionRValue => SymExpr::RegionValueKind git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09As discussed with Ted, rename TypedRegion::getObjectType() to Zhongxing Xu
TypedRegion::getValueType(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Add back test cases for ns_returns_retained and cf_returns_retained.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Add back attribute string lookup for 'ns_returns_retained' andTed Kremenek
'cf_returns_retained'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Add back analyzer support for ns_returns_retained and cf_returns_retained.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71309 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Add back Parse/Sema support for attributes cf_returns_retained andTed Kremenek
ns_returns_retained, but do not include the other ownership attributes we previously had. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09It lives! The retain/release checker now tracks objects that are sentTed Kremenek
'autorelease'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71307 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Fix lurking bug in one of the versions ofTed Kremenek
GRStmtNodeBuilder::generateNode() where the HasGeneratedNode flag wouldn't properly be set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09rename: MemRegion:Zhongxing Xu
RValueType => ObjectType LValueType => LocationType No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71304 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09More hacking on autorelease errors. We now can emit basic errors (disabled forTed Kremenek
now until ready). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71303 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Put most of the boilerplate logic in place for reporting autorelease errors.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71301 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08We want to diagnose sending message to a forward classFariborz Jahanian
and we also want to tell which message is actually being sent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71296 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08ABITest: Improve test driver marginally, to allow running a specificDaniel Dunbar
test index. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08retain/release checker: Add stub for HandleAutoreleaseCounts.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Fix PR4182.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08retain/release checker: Refactor error-reporting code in EvalDeadSymbols andTed Kremenek
EvalEndPath. This sets the stage for handling autorelease counts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71283 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Make BlockEntrace program points taggable.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Fix typo in method name.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Warn if forward class is used as a receiver.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71278 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08ABITest: Move more of the common Makefile bits into the commonDaniel Dunbar
Makefile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08ABITest: Fix a bug in generating test values for structures w/ noDaniel Dunbar
non-padding fields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71273 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08x86_64 ABI: Ignore padding bit-fields during classification.Daniel Dunbar
- {return-types,single-args}-{32,64} pass the first 1k ABI tests with bit-fields enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71272 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Darwin x86_32: When coercing a "single element" structure, make sureDaniel Dunbar
to use a wide enough type. This might be wider than the "single element"'s type in the presence of padding bit-fields. - Darwin x86_32 now passes the first 1k ABI tests with bit-field generation enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71270 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Fixes a bug in my last patch. Order of types reversed.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Darwin x86_32: Ignore padding bit-fields when looking for "singleDaniel Dunbar
element" structures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Darwin x86_32: Improve bit-field handling for returning records.Daniel Dunbar
- This turns out to be a no-op now that most of the handling for everything else is in place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Darwin x86_32: Ignore arrays of empty structures inside records.Daniel Dunbar
- This eliminates 5/1000 failures on return-types-32, on the current ABITest config. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71250 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Refactoring of my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08ABITest: Move default set of test args into common makefile.Daniel Dunbar
Also, tweak default list of bit-fields to try. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08retain checker: Track the number of times a tracked object is sentTed Kremenek
'autorelease'. This isn't used yet to flag errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08More type checking for properties, accessors andFariborz Jahanian
use of dot-syntax expression. This is to match gcc's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Provide dummy va_list typedef for msp430Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08further improvements to gnu objc EH stuff, patch by David Chisnall!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08"This patch fixes message sends to super in categories for the GNU runtime. ↵Chris Lattner
This used to work, but I broke it when I modified the code to emit the same thing as GCC for message sends to super in classes." Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Fix the atomics sema code to convert operands to the argument typesChris Lattner
of the underlying _N builtin, not the the type of the pointee of the actual type. This ensures that atomics involving pointers end up using the correct integer type when they are resolved, avoiding aborts in codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71218 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Remove experimental ownership attributes from Clang.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Region store: when casting VarRegions, if the cast-to pointee type is Zhongxing Xu
incomplete, do not compute its size and return the original region. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08reimplement __sync_* builtins to be variadic and to follow the sameChris Lattner
semantic rules that gcc and icc use. This implements the variadic and concrete versions as builtins and has sema do the disambiguation. There are probably a bunch of details to finish up but this seems like a large monotonic step forward :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71212 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Replace the heuristic isSmallerThan with ASTContext::getTypeSize().Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Replace getTypeWidth() with ASTContext::getTypeSize().Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Revert r71079.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71202 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Add various other bits I use to run ABITest.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71201 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-08Fix <rdar://problem/6845148>. Signed integers compared against pointers shouldTed Kremenek
implicitly be changed to unsigned values in GRSimpleVals.cpp. This can happen when the comparison involves logic in specialized transfer functions (e.g., OSAtomicCompareAndSwap). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71200 91177308-0d34-0410-b5e6-96231b3b80d8