]>
granicus.if.org Git - clang/log
Douglas Gregor [Tue, 12 May 2009 01:31:05 +0000 (01:31 +0000)]
Make precompiled headers work with -E. When we're only preprocessing
(with -E), we turn the PCH include into an implicit include of the
file from which the PCH file was generated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 May 2009 00:47:40 +0000 (00:47 +0000)]
wrap up a version of the man page that is minimally helpful, but somewhat complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71524
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 12 May 2009 00:45:33 +0000 (00:45 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71523
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 May 2009 00:01:32 +0000 (00:01 +0000)]
add some more content.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 11 May 2009 23:53:27 +0000 (23:53 +0000)]
Encapsulate template arguments lists in a new class,
TemplateArgumentList. This avoids the need to pass around
pointer/length pairs of template arguments lists, and will eventually
make it easier to introduce member templates and variadic templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 23:50:59 +0000 (23:50 +0000)]
BugReport::getEndPath() - Only add a Stmt's range to the constructed PathDiagnosticEventPiece if the BugReport contained no explicit ranges.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 11 May 2009 23:37:08 +0000 (23:37 +0000)]
Factor code that's common to EmitCXXMemberCallExpr and EmitCXXConstructorCall out into a EmitCXXMemberCall function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71514
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 23:29:51 +0000 (23:29 +0000)]
Use Text::ParseWords to make 'clang -###' parsing more robust.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 11 May 2009 23:11:21 +0000 (23:11 +0000)]
Tweak this non-default test so it still works w/ x86 feature support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 11 May 2009 23:06:15 +0000 (23:06 +0000)]
Test for x86 target features, I forgot to commit this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71492
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 11 May 2009 23:01:34 +0000 (23:01 +0000)]
Darwin x86-32: Multi-dimensional arrays were not handled correctly,
spotted by Eli!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71490
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 11 May 2009 22:55:49 +0000 (22:55 +0000)]
Friend declarations are only valid inside class definitions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71489
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 22:55:17 +0000 (22:55 +0000)]
When stripping element regions for invalidating region values, treat FieldRegions and ObjCIvarRegions as "base" regions in addition to VarRegions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71488
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 May 2009 22:45:37 +0000 (22:45 +0000)]
pull a bunch of options out of clang-cc.cpp. This doesn't include
options that the driver swizzles.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71487
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 11 May 2009 22:42:30 +0000 (22:42 +0000)]
Fix test case by always setting the type spec type, even for friend decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 11 May 2009 22:30:29 +0000 (22:30 +0000)]
Make cleanup-stack.c test stronger, and work in release-asserts mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71484
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 11 May 2009 22:27:47 +0000 (22:27 +0000)]
Add an ActOnFriendDecl and call it for friend class decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 11 May 2009 22:25:03 +0000 (22:25 +0000)]
For friend class decls, always use TK_Reference so we'll try to look up existing class decls first.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71481
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 22:19:32 +0000 (22:19 +0000)]
EdgeBuilder: DeclStmts and BinaryOperators are not the enclosing location context when they are used as initialization code for loops.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 21:42:34 +0000 (21:42 +0000)]
EdgeBuilder::cleanUpLocation() should used the PathDiagnosticLocation constructor for a single point, not a range.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71477
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 21:08:34 +0000 (21:08 +0000)]
ccc-analyzer should only analyze C and Objective-C files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 11 May 2009 19:58:34 +0000 (19:58 +0000)]
Implement the notions of the "current instantiation" and "unknown
specialization" within a C++ template, and permit name lookup into the
current instantiation. For example, given:
template<typename T, typename U>
struct X {
typedef T type;
X* x1; // current instantiation
X<T, U> *x2; // current instantiation
X<U, T> *x3; // not current instantiation
::X<type, U> *x4; // current instantiation
X<typename X<type, U>::type, U>: *x5; // current instantiation
};
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 19:50:47 +0000 (19:50 +0000)]
BugReporter (extensive diagnostics): Add EdgeBuilder::cleanUpLocation for canonicalization locations and use this in both popLocation and rawAddEdge.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71470
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 19:49:27 +0000 (19:49 +0000)]
Add ParentMap:getParentIgnoreParens().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71469
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 11 May 2009 19:25:47 +0000 (19:25 +0000)]
Patch to allow Nonfragile ABI to use 32-bit style legacy
message dispage API for all but a few messages. This is
a runtime performance improvement and there is not meant
to be a functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71467
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 19:02:11 +0000 (19:02 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71463
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 11 May 2009 18:58:49 +0000 (18:58 +0000)]
Darwin x86_32: Treat records with unnamed bit-fields as "empty".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71461
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 18:30:24 +0000 (18:30 +0000)]
Fix regression reported in <rdar://problem/
6866843 >. The analyzer should extend the lifetime of an object stored to a container.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71452
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 May 2009 18:16:28 +0000 (18:16 +0000)]
More improvements for GNU runtime objc EH, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71451
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 11 May 2009 18:06:49 +0000 (18:06 +0000)]
Move terminal-width computation over to llvm::sys. Update to LLVM
r71448 required. Fixes PR 4148 and PR 4183.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 17:45:06 +0000 (17:45 +0000)]
Add test case for <rdar://problem/
6257780 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 11 May 2009 16:52:38 +0000 (16:52 +0000)]
Add a test for canonicalization of template arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 16:31:31 +0000 (16:31 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 11 May 2009 15:26:06 +0000 (15:26 +0000)]
Fix a bug found by Thomas Clement where 'return [[[NSString alloc] init] autorelease]' would emit a false 'too many overreleases' error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 11 May 2009 14:28:14 +0000 (14:28 +0000)]
TypedRegion is a too general assumption. Usually we only want to invalidate
the VarRegion as a super region of an ElementRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 11 May 2009 14:23:36 +0000 (14:23 +0000)]
When retrieving an ElementRegion, if its super region is a StringRegion,
retrieve the string value.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 11 May 2009 12:48:56 +0000 (12:48 +0000)]
Fix a bug that leads to infinite loop. Set the correct element type to
ElementRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71428
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 10 May 2009 23:27:08 +0000 (23:27 +0000)]
With the introduction of nullptr, a template argument that refers to a declaration can now be NULL. Use cast_or_null appropriately
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 10 May 2009 22:59:12 +0000 (22:59 +0000)]
The canonical declaration of a NULL declaration is NULL
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 10 May 2009 22:57:19 +0000 (22:57 +0000)]
Implement the semantics of the injected-class-name within a class
template. The injected-class-name is either a type or a template,
depending on whether a '<' follows it. As a type, the
injected-class-name's template argument list contains its template
parameters in declaration order.
As part of this, add logic for canonicalizing declarations, and be
sure to canonicalize declarations used in template names and template
arguments.
A TagType is dependent if the declaration it references is dependent.
I'm not happy about the rather complicated protocol needed to use
ASTContext::getTemplateSpecializationType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 10 May 2009 20:06:11 +0000 (20:06 +0000)]
Update minor points in C++ status table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71406
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 10 May 2009 18:38:11 +0000 (18:38 +0000)]
Implement C++0x nullptr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71405
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 17:41:29 +0000 (17:41 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 16:52:15 +0000 (16:52 +0000)]
Add special warning about returning a retained object where a GC'ed object is expected.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71397
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 06:25:57 +0000 (06:25 +0000)]
retain/release checker: Flag a warning for non-owned objects returned
where an owned one is expected. Also add preliminary checking for
returning a positive retain count object in GC mode where an owned GC
object is expected.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 05:54:23 +0000 (05:54 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 05:11:21 +0000 (05:11 +0000)]
analyzer:
- Improve -autorelease diagnostics.
- Improve VLA diagnostics.
- Use "short description" for bug when outputting to TextDiagnostics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 10 May 2009 02:22:16 +0000 (02:22 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71375
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 19:19:28 +0000 (19:19 +0000)]
Add total hack to get scan-build working again. ccc-analyzer calls
'clang -###' to get the appropriate arguments to pass to clang-cc.
This isn't a permanent solution.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 9 May 2009 17:36:58 +0000 (17:36 +0000)]
force a target triple so that the right greppable output happens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 15:34:29 +0000 (15:34 +0000)]
When casting VarRegion, if the var type is aggregate type and the cast-to
pointee type is scalar type, create element region regardless with the sizes
of types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 15:23:42 +0000 (15:23 +0000)]
Remove the rest TypedViewRegion processing code. There should be no
TypedViewRegion usage in region store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71359
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 15:18:12 +0000 (15:18 +0000)]
When evaluating pointer arithmetic, if the base location is a symbolic region,
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
Zhongxing Xu [Sat, 9 May 2009 13:36:16 +0000 (13:36 +0000)]
Do not create a TypedViewRegion when the base struct region is a symbolic
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
Zhongxing Xu [Sat, 9 May 2009 13:27:17 +0000 (13:27 +0000)]
add comments to test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71356
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 13:20:07 +0000 (13:20 +0000)]
Do not layer a TypedViewRegion when casting symbolic or alloca regions.
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
Zhongxing Xu [Sat, 9 May 2009 10:03:08 +0000 (10:03 +0000)]
Remove the case for casting to compatible type in
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
Duncan Sands [Sat, 9 May 2009 07:08:47 +0000 (07:08 +0000)]
Correct for renaming PaddedSize -> AllocSize in
LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 07:05:44 +0000 (07:05 +0000)]
Roll back to checker build 0.195.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 04:08:27 +0000 (04:08 +0000)]
Rename:
SymbolRegionRValue => SymbolRegionValue
SymExpr::RegionRValue => SymExpr::RegionValueKind
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 9 May 2009 03:57:34 +0000 (03:57 +0000)]
As discussed with Ted, rename TypedRegion::getObjectType() to
TypedRegion::getValueType().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 03:10:32 +0000 (03:10 +0000)]
Add back test cases for ns_returns_retained and cf_returns_retained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 03:08:29 +0000 (03:08 +0000)]
Add back attribute string lookup for 'ns_returns_retained' and
'cf_returns_retained'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 02:58:13 +0000 (02:58 +0000)]
Add back analyzer support for ns_returns_retained and cf_returns_retained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 02:44:38 +0000 (02:44 +0000)]
Add back Parse/Sema support for attributes cf_returns_retained and
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
Ted Kremenek [Sat, 9 May 2009 01:50:57 +0000 (01:50 +0000)]
It lives! The retain/release checker now tracks objects that are sent
'autorelease'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 01:37:12 +0000 (01:37 +0000)]
Fix lurking bug in one of the versions of
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
Zhongxing Xu [Sat, 9 May 2009 00:50:33 +0000 (00:50 +0000)]
rename: MemRegion:
RValueType => ObjectType
LValueType => LocationType
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 00:44:07 +0000 (00:44 +0000)]
More hacking on autorelease errors. We now can emit basic errors (disabled for
now until ready).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 9 May 2009 00:10:05 +0000 (00:10 +0000)]
Put most of the boilerplate logic in place for reporting autorelease errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 23:45:49 +0000 (23:45 +0000)]
We want to diagnose sending message to a forward class
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
Daniel Dunbar [Fri, 8 May 2009 23:40:45 +0000 (23:40 +0000)]
ABITest: Improve test driver marginally, to allow running a specific
test index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:32:51 +0000 (23:32 +0000)]
retain/release checker: Add stub for HandleAutoreleaseCounts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 23:28:07 +0000 (23:28 +0000)]
Fix PR4182.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:09:42 +0000 (23:09 +0000)]
retain/release checker: Refactor error-reporting code in EvalDeadSymbols and
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
Ted Kremenek [Fri, 8 May 2009 23:08:34 +0000 (23:08 +0000)]
Make BlockEntrace program points taggable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 8 May 2009 23:07:51 +0000 (23:07 +0000)]
Fix typo in method name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 8 May 2009 23:02:36 +0000 (23:02 +0000)]
Warn if forward class is used as a receiver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:49:52 +0000 (22:49 +0000)]
ABITest: Move more of the common Makefile bits into the common
Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:48:39 +0000 (22:48 +0000)]
ABITest: Fix a bug in generating test values for structures w/ no
non-padding fields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 22:26:44 +0000 (22:26 +0000)]
x86_64 ABI: Ignore padding bit-fields during classification.
- {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
Daniel Dunbar [Fri, 8 May 2009 21:30:11 +0000 (21:30 +0000)]
Darwin x86_32: When coercing a "single element" structure, make sure
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
Fariborz Jahanian [Fri, 8 May 2009 21:10:00 +0000 (21:10 +0000)]
Fixes a bug in my last patch. Order of types reversed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 21:04:47 +0000 (21:04 +0000)]
Darwin x86_32: Ignore padding bit-fields when looking for "single
element" structures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 20:55:49 +0000 (20:55 +0000)]
Darwin x86_32: Improve bit-field handling for returning records.
- 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
Daniel Dunbar [Fri, 8 May 2009 20:21:04 +0000 (20:21 +0000)]
Darwin x86_32: Ignore arrays of empty structures inside records.
- 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
Fariborz Jahanian [Fri, 8 May 2009 20:20:55 +0000 (20:20 +0000)]
Refactoring of my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 8 May 2009 20:10:52 +0000 (20:10 +0000)]
ABITest: Move default set of test args into common makefile.
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
Ted Kremenek [Fri, 8 May 2009 20:01:42 +0000 (20:01 +0000)]
retain checker: Track the number of times a tracked object is sent
'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
Fariborz Jahanian [Fri, 8 May 2009 19:36:34 +0000 (19:36 +0000)]
More type checking for properties, accessors and
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
Anton Korobeynikov [Fri, 8 May 2009 18:24:57 +0000 (18:24 +0000)]
Provide dummy va_list typedef for msp430
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 17:36:08 +0000 (17:36 +0000)]
further improvements to gnu objc EH stuff, patch by David Chisnall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71227
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 May 2009 15:39:58 +0000 (15:39 +0000)]
"This patch fixes message sends to super in categories for the GNU runtime. 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
Chris Lattner [Fri, 8 May 2009 15:36:58 +0000 (15:36 +0000)]
Fix the atomics sema code to convert operands to the argument types
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
Ted Kremenek [Fri, 8 May 2009 15:19:25 +0000 (15:19 +0000)]
Remove experimental ownership attributes from Clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 07:28:25 +0000 (07:28 +0000)]
Region store: when casting VarRegions, if the cast-to pointee type is
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
Chris Lattner [Fri, 8 May 2009 06:58:22 +0000 (06:58 +0000)]
reimplement __sync_* builtins to be variadic and to follow the same
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
Zhongxing Xu [Fri, 8 May 2009 02:12:59 +0000 (02:12 +0000)]
Replace the heuristic isSmallerThan with ASTContext::getTypeSize().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71206
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 02:00:55 +0000 (02:00 +0000)]
Replace getTypeWidth() with ASTContext::getTypeSize().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 8 May 2009 01:33:18 +0000 (01:33 +0000)]
Revert r71079.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71202
91177308 -0d34-0410-b5e6-
96231b3b80d8