Fariborz Jahanian
1dc712f7cc
objective-c modern translator. Fixes misc. bug in writing
...
the ivar offset symbol.
llvm-svn: 151683
2012-02-29 00:26:20 +00:00
Daniel Dunbar
0b4b32433c
Remove stray semi-colon.
...
llvm-svn: 151682
2012-02-29 00:20:42 +00:00
Eli Friedman
576cbd03b4
Make sure list-initialization of arrays works correctly in explicit type conversions. PR12121.
...
llvm-svn: 151674
2012-02-29 00:00:28 +00:00
Argyrios Kyrtzidis
fcbfdee5df
[libclang] Add a test I forgot to commit.
...
llvm-svn: 151669
2012-02-28 23:39:24 +00:00
Argyrios Kyrtzidis
5cb4760aed
[PCH] Include a darwin-only PCH test on Cocoa.h.
...
llvm-svn: 151668
2012-02-28 23:39:20 +00:00
Argyrios Kyrtzidis
5929ef2ee7
Revert r151638 because it causes assertion hit on PCH creation for Cocoa.h
...
Original log:
---------------------
Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
---------------------
I also reverted r151641 which was enhancement on top of r151638.
llvm-svn: 151667
2012-02-28 23:39:14 +00:00
Sebastian Redl
12edeb0899
Single- and zero-element initializer lists to scalars are list-initializations. Fixes PR12118.
...
llvm-svn: 151666
2012-02-28 23:36:38 +00:00
Ted Kremenek
0f70a6f51e
[analyzer diagnostics] Refactor filtration for PathDiagnosticConsumers that don't support cross-file diagnostics
...
into a common place. Currently enable this filtration for Plist diagnostics as well.
llvm-svn: 151664
2012-02-28 23:27:39 +00:00
Ted Kremenek
2429c6ffe7
[analyzer diagnostics] start prototyping stripping PathDiagnostics of unnecessary cruft caused by path inlining.
...
This introduces a concept of a "prunable" PathDiagnosticEvent. Currently this is a flag, but
we may evolve the concept to make this more dynamically inferred.
llvm-svn: 151663
2012-02-28 23:06:21 +00:00
Fariborz Jahanian
265a421dd9
Modern objective-c translator. rewriting ivars of aggregate type.
...
llvm-svn: 151662
2012-02-28 22:45:07 +00:00
Anna Zaks
75de32322a
[analyzer] Leaks should be uniqued by the allocation point in the
...
closest function context (RetainCountChecker).
llvm-svn: 151661
2012-02-28 22:39:22 +00:00
Eli Friedman
8754926feb
Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent here, and generally nicer to the optimizer.
...
llvm-svn: 151659
2012-02-28 22:07:56 +00:00
Anna Zaks
16f3831064
[analyzer] Retain release: drop the line number info from the leak
...
message.
llvm-svn: 151657
2012-02-28 21:49:08 +00:00
Anna Zaks
b6e2854f68
[analyzer] Stats: Add the stats about remove dead bindings, correct the
...
test.
llvm-svn: 151656
2012-02-28 21:49:04 +00:00
Chad Rosier
2ad368fce3
[driver] Add support for -g2 and -ggdb debug flags.
...
rdar://10947759
llvm-svn: 151654
2012-02-28 20:49:04 +00:00
David Chisnall
c73fb894af
Add -lm by default on Solaris.
...
llvm-svn: 151653
2012-02-28 20:06:45 +00:00
David Chisnall
e0a7c28627
It turns out -fno-cxa-atexit just produces broken code, so disable it on Solaris and we'll ship a __cxa_atexit implementation...
...
llvm-svn: 151648
2012-02-28 19:15:06 +00:00
James Molloy
ecd2edf50c
Un-break clang based on r151638 - What was meant to be a trivial variable name change went horribly wrong and I forgot to retest afterwards.
...
llvm-svn: 151641
2012-02-28 18:23:49 +00:00
James Molloy
051390fffa
Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
...
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
llvm-svn: 151638
2012-02-28 18:12:11 +00:00
Argyrios Kyrtzidis
3460880674
[AST] When we @synthesize a property with a user-defined ivar name,
...
make sure to record the source location of the ivar name.
[libclang] When indexing @synthesized objc methods, report the @implementation
as the lexical container.
Fixes rdar://10905472
llvm-svn: 151635
2012-02-28 17:50:39 +00:00
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