Argyrios Kyrtzidis
93db2923da
[libclang] When indexing an objc property, also provide information about
...
the getter/setter objc method entities that the property is associated with.
rdar://10244558
llvm-svn: 151634
2012-02-28 17:50:33 +00:00
Argyrios Kyrtzidis
ceeb19cf18
[AST] Associate the getter/setter methods to a property of a objc class extension.
...
[libclang] Index the getter/setter methods of a property of a objc class extension.
Fixes rdar://10907597
llvm-svn: 151633
2012-02-28 17:50:28 +00:00
David Chisnall
0c52c0f0fd
Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it).
...
llvm-svn: 151632
2012-02-28 17:10:04 +00:00
Daniel Dunbar
f3d3b0134d
Remove stray semi-colons.
...
llvm-svn: 151631
2012-02-28 15:36:15 +00:00
Eli Friedman
7dff8a68df
Basic coverage test for conversion-to-block-pointer for lambda expressions.
...
llvm-svn: 151616
2012-02-28 03:32:48 +00:00
Anna Zaks
6ca4fd5b88
[analyzer] Leaks should be uniqued by the allocation point in the
...
closest function context (Keychain API).
llvm-svn: 151613
2012-02-28 03:07:06 +00:00
Anna Zaks
06a77fc1b9
[analyzer] Fix Malloc False Positive (PR 12100)
...
When allocated buffer is passed to CF/NS..NoCopy functions, the
ownership is transfered unless the deallocator argument is set to
'kCFAllocatorNull'.
llvm-svn: 151608
2012-02-28 01:54:22 +00:00
Eli Friedman
ec75fec805
Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon.
...
llvm-svn: 151603
2012-02-28 01:08:45 +00:00
Ted Kremenek
3bc5372fae
[analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving
...
comparing literal addresses to nil.
Fixes <rdar://problem/10579586>
llvm-svn: 151602
2012-02-28 00:56:05 +00:00
Jim Grosbach
2e16624291
Re-enable the Darwin ARM integrated assembler.
...
All known nightly-test failures are fixed.
llvm-svn: 151595
2012-02-27 23:55:25 +00:00
Anna Zaks
43ffba2676
[analyzer] Leaks should be uniqued by the allocation point in the
...
closest function context.
This prevents us from uniqueing all leaks from the same allocation
helper. radar://10932226
llvm-svn: 151592
2012-02-27 23:40:55 +00:00
Richard Trieu
9cd797aa3e
Fix a test case that was added in r151570. The redirect of output was broken
...
so no testing was actually done. Further, the commands produce no output.
The redirection has been fixed and the test has been disabled.
llvm-svn: 151591
2012-02-27 23:40:41 +00:00
Ted Kremenek
e0bce93e14
[analyzer] Don't generate an explicit ExplodedNode for StringLiterals; have the SVal lazily generated from Environment::getSVal().
...
llvm-svn: 151589
2012-02-27 23:34:19 +00:00
Sebastian Redl
a235e2d8ad
Hack in a loud error for PR12086. Better than a silent miscompile.
...
llvm-svn: 151586
2012-02-27 23:20:01 +00:00
Argyrios Kyrtzidis
465e137558
When evaluating integer expressions include a check for sub-expressions
...
depth and error if we exceed a max value, to make sure we avoid a stack overflow.
This is a hacky temporary fix. rdar://10913206.
llvm-svn: 151585
2012-02-27 23:18:37 +00:00
Ted Kremenek
59b10db2bc
After numerous requests, have Objective-C 'method declared here' notes mention the actual method. This looks better within an IDE, where text isn't always regurgitated in the presentation of a warning. Fixes radar 10914035.
...
llvm-svn: 151579
2012-02-27 22:55:11 +00:00
Sebastian Redl
aa6feaa7ea
Implement a FIXME for conversion sequence distinction. Should fix PR12092.
...
llvm-svn: 151577
2012-02-27 22:38:26 +00:00
Ted Kremenek
205fbeb54a
Fix documentation typo.
...
llvm-svn: 151573
2012-02-27 21:40:10 +00:00
Anna Zaks
b028654031
[analyzer] Add -analyzer-stats, which hooks up LLVM stats tracking.
...
As in http://llvm.org/docs/ProgrammersManual.html#Statistic
llvm-svn: 151570
2012-02-27 21:33:16 +00:00
Eli Friedman
84e6e5cd1a
Fix a couple bugs in the way we handle array indexes in array bounds checking. Specifically, make sure we don't ignore explicit casts in indexes, and make sure we use unsigned extension/comparisons on indexes. Fixes <rdar://problem/10916006>.
...
llvm-svn: 151569
2012-02-27 21:21:40 +00:00
Argyrios Kyrtzidis
bb5abc7b49
Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h"
...
to make it more widely available.
Depends on llvm commit r151564
llvm-svn: 151566
2012-02-27 21:09:45 +00:00
Sebastian Redl
6776673f09
Convert initializer lists to temporaries in CreateBuiltinBinOp. Allows assignment of init lists to built-in types and resolves PR12088.
...
llvm-svn: 151551
2012-02-27 20:34:02 +00:00
Eli Friedman
afa84ae85b
Add missing code for compound literals of complex type. <rdar://problem/10938628>
...
llvm-svn: 151549
2012-02-27 20:26:13 +00:00
Argyrios Kyrtzidis
91d0098dc8
Revert testing code I committed by mistake in r151464.
...
llvm-svn: 151548
2012-02-27 20:21:34 +00:00
Benjamin Kramer
5e8636f36e
Just drop the bitfield from ExtProtoInfo, this struct isn't even heap allocated so it doesn't hurt.
...
MSVC < 10 still has the signed enum bitfield bug, making the top bit unusable.
llvm-svn: 151545
2012-02-27 20:04:30 +00:00
Richard Smith
fb09968e60
Speculatively attempt to work around a hypothetical but unreproduced MSVC issue
...
in r151494.
llvm-svn: 151544
2012-02-27 19:56:34 +00:00
Chad Rosier
d6a56db7b6
Test case for r151429/r151430, which ensures llvm.lifetime intrinsics are not
...
being emitted at -O0, but are emitted when optimizations are enabled.
llvm-svn: 151533
2012-02-27 18:45:03 +00:00
Benjamin Kramer
169f436870
Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized.
...
Found by valgrind.
llvm-svn: 151527
2012-02-27 13:20:39 +00:00
Eric Christopher
7a5fdd8746
ObjcInterfaceTypes are also complete types for the type cache.
...
Fixes rdar://10934887
llvm-svn: 151519
2012-02-27 08:23:23 +00:00
Eric Christopher
5bd52c1b3e
Make this test a bit more robust for debug info changes.
...
llvm-svn: 151518
2012-02-27 08:22:57 +00:00
Richard Smith
619ecdc80f
Ensure that we delete default constructors in the right cases. Don't delete the
...
default constructor of a union if it has a const member with no user-provided
default constructor.
llvm-svn: 151516
2012-02-27 06:07:25 +00:00
Richard Smith
fa933d1225
Fix decltype crash-on-invalid, if we don't find a matching ')' for an ill-formed
...
decltype expression.
llvm-svn: 151515
2012-02-27 05:24:00 +00:00
Richard Smith
2fbb3d84a2
Tests for r151508.
...
llvm-svn: 151509
2012-02-26 23:49:01 +00:00
Richard Smith
9a6403a9de
Half of PR12088: parse braced-init-lists on the RHS of assignment operators.
...
If the assignment operator is a scalar type, we continue to incorrectly reject
the initializer, but semantic analysis (and codegen) is correct for overloaded
operators.
llvm-svn: 151508
2012-02-26 23:40:27 +00:00
Gregory Szorc
5b4173912f
[clang.py] Test Cursor.__ne__
...
llvm-svn: 151504
2012-02-26 21:56:32 +00:00
Benjamin Kramer
b73f76b642
Reorder members to save padding.
...
There's more potential here, but these Exprs aren't used that often so I don't feel like doing heroic bit packing right now.
-8 bytes on every class changed (x86_64).
llvm-svn: 151501
2012-02-26 20:37:14 +00:00
Benjamin Kramer
8d550863cb
Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt.
...
Apply the inheritance-padding trick to FloatingLiteral.
Shrinks CharacterLiteral from 32 to 24 bytes and the other two from 40 to 32 bytes (x86_64).
llvm-svn: 151500
2012-02-26 19:47:25 +00:00
Benjamin Kramer
441607ddcb
Make clever use of padding to shrink IntegerLiterals.
...
Inheritance allows us to use padding across classes.
40 -> 32 bytes on x86_64.
llvm-svn: 151499
2012-02-26 18:34:12 +00:00
Benjamin Kramer
74f011db76
Bit pack StringLiteral.
...
48 -> 40 bytes on x86_64.
llvm-svn: 151498
2012-02-26 18:34:07 +00:00
Benjamin Kramer
3f8e0ec333
Reduce padding in MemberExpr.
...
56 -> 48 bytes on x86_64.
llvm-svn: 151497
2012-02-26 18:34:02 +00:00
Benjamin Kramer
7e11d9c4c2
CompoundLiteralExpr: Pair a bool with a pointer.
...
48 -> 40 bytes on x86_64.
llvm-svn: 151496
2012-02-26 18:33:56 +00:00
Benjamin Kramer
14926606a4
Shuffle members of DesignatedInitExpr to avoid padding.
...
40 -> 32 bytes on x86_64.
llvm-svn: 151495
2012-02-26 17:31:32 +00:00
Benjamin Kramer
6864c519c2
Bit pack ExtProtoInfo.
...
llvm-svn: 151494
2012-02-26 16:55:55 +00:00
Benjamin Kramer
e60db7b86a
Move FullSourceLoc::dump into the .cpp file, the used attribute made us emit this into every TU that includes SourceLocation.h.
...
llvm-svn: 151493
2012-02-26 16:55:50 +00:00
Benjamin Kramer
6b2dc73d48
Okay, makes sense to change all the occurences to match clang.EXE.
...
llvm-svn: 151491
2012-02-26 14:55:10 +00:00
Benjamin Kramer
1c45c9c8b0
Allow any file extension for the clang binary in the linux-header-search test.
...
Turns out this can be .exe or .EXE, depending on the build system.
llvm-svn: 151490
2012-02-26 14:50:31 +00:00
Richard Smith
8e1c932ffb
Don't assert when trying to diagnose why a class with a constructor template is
...
non-trivial.
llvm-svn: 151486
2012-02-26 10:50:32 +00:00
Chandler Carruth
df8ae4b949
Add the critical crtbegin.o files necessary for any of the tests in
...
r151482 and r151484 to work. Sorry about the fallout...
llvm-svn: 151485
2012-02-26 10:46:17 +00:00
Chandler Carruth
2e9d731761
A follow-up to r151482 which added support for powerpc and powerpc64
...
Debian multiarch libraries, this should in theory add support for those
platform's header search rules. I don't have a system to check this
with, so review appreciated. I've added the corresponding tests
referring to the debian multiarch tree.
We are starting to have a relatively completely tested Linux platform
for header search and library search, with several interesting
peculiarities. We should point people at the debian_multiarch_tree when
suggesting new tests. Folks with Debian systems that can check this for
correctness, it would be much appreciated. The missing chunks I know of
are testing bi-arch peudo-cross-compiling toolchains betwen 32-bit and
64-bit variants of platforms, and the MIPS and ARM Debian toolchains.
llvm-svn: 151484
2012-02-26 09:21:43 +00:00
Richard Smith
921bd20ddd
Ensure that we delete destructors in the right cases. Specifically:
...
- variant members with nontrivial destructors make the containing class's
destructor deleted
- check for a virtual destructor after checking for overridden methods in the
base class(es)
- check for an inaccessible operator delete for a class with a virtual
destructor.
Do not try to call an anonymous union field's destructor from the destructor of
the containing class.
llvm-svn: 151483
2012-02-26 09:11:52 +00:00