| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap.
Note that this transformation has a substantial semantic effect outside of ARC: it gives the converted lambda lifetime semantics similar to a block literal. With ARC, the effect is much less obvious because the lifetime of blocks is already managed.
llvm-svn: 151797
|
| |
|
|
|
|
|
| |
improve the diagnostics for some attempts to use initializer lists in
expressions.
llvm-svn: 151794
|
| |
|
|
|
|
| |
__attribute__((NSObject)) on a property declaration. This is needed to have retain properties for non-object pointers. Fixes <rdar://problem/10930507>.
llvm-svn: 151786
|
| |
|
|
|
|
|
| |
will be done by the general cleanup later on.
A Patch by Ted.
llvm-svn: 151784
|
| |
|
|
|
|
| |
used.
llvm-svn: 151783
|
| |
|
|
|
|
| |
-fms-compatibility.
llvm-svn: 151776
|
| |
|
|
| |
llvm-svn: 151775
|
| |
|
|
|
|
| |
and macros.
llvm-svn: 151774
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes PR10606.
I'm not sure if this is the best way to go about it, but
I locally enabled this code path without the msext conditional,
and all tests pass, except for test/Preprocessor/cxx_oper_keyword.cpp
which explicitly checks that operator keywords can't be redefined.
I also parsed chromium/win with a clang with and without this patch.
It introduced no new errors, but removes 43 existing errors.
llvm-svn: 151768
|
| |
|
|
|
|
|
| |
have matching user defined setter/getter and a warning is issued.
In this case, a fixit note is displayed. // rdar://10267155
llvm-svn: 151766
|
| |
|
|
| |
llvm-svn: 151754
|
| |
|
|
|
|
| |
ctor.
llvm-svn: 151752
|
| |
|
|
|
|
|
|
|
| |
by the BAA pass, which uses the default TargetLibraryInfo constructor.
Unfortunately, the default TargetLibraryInfo constructor assumes all library
calls are available and thus ignores -fno-builtin.
rdar://10947759
llvm-svn: 151745
|
| |
|
|
|
|
|
|
|
|
|
|
| |
funopen, setvbuf.
Teach the checker and the engine about these APIs to resolve malloc
false positives. As I am adding more of these APIs, it is clear that all
this should be factored out into a separate callback (for example,
region escapes). Malloc, KeyChainAPI and RetainRelease checkers could
all use it.
llvm-svn: 151737
|
| |
|
|
|
|
| |
info.", which broke some -O0 -g tests.
llvm-svn: 151730
|
| |
|
|
|
|
| |
by actual humans.
llvm-svn: 151726
|
| |
|
|
|
|
| |
existing tests still pass, but there may still be corner cases.
llvm-svn: 151716
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug that was caught by Apple's internal buildbots was valid and also showed another bug in my implementation.
These are now fixed, with regression tests added to catch them both (not Darwin-specific).
Original log:
====================
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: 151712
|
| |
|
|
|
|
| |
because the CFG is fully linearized.
llvm-svn: 151711
|
| |
|
|
|
|
| |
unreachable default blocks. Patch by Cyril Roelandt!
llvm-svn: 151709
|
| |
|
|
|
|
| |
are sometimes potentially evaluated.
llvm-svn: 151707
|
| |
|
|
|
|
| |
rdar://10459258
llvm-svn: 151706
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This currently doesn't handle capturing the 'this' pointer for any
enclosing class.
Steal the lambda-expressions.cpp testcase and debugify it and try
to use more variables to proof it against random changes.
Part of rdar://10900684
llvm-svn: 151702
|
| |
|
|
| |
llvm-svn: 151700
|
| |
|
|
| |
llvm-svn: 151699
|
| |
|
|
|
|
|
|
| |
of the SmallPtrSet way up to avoid commonly reallocating the buffer size.
- I didn't see a good argument against it, so I bumped the limit to cover the
max size we see during parsing Cocoa.h.
llvm-svn: 151698
|
| |
|
|
|
|
|
|
| |
- This reduces our total # of allocations building a PCH for Cocoa.h by almost
a whopping 50%.
- A SmallPtrMap would be cleaner, but since we don't have one yet...
llvm-svn: 151697
|
| |
|
|
| |
llvm-svn: 151689
|
| |
|
|
|
|
| |
the ivar offset symbol.
llvm-svn: 151683
|
| |
|
|
|
|
| |
conversions. PR12121.
llvm-svn: 151674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
list-initializations. Fixes PR12118.
llvm-svn: 151666
|
| |
|
|
|
|
|
|
| |
don't support cross-file diagnostics
into a common place. Currently enable this filtration for Plist diagnostics as well.
llvm-svn: 151664
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151662
|
| |
|
|
|
|
| |
closest function context (RetainCountChecker).
llvm-svn: 151661
|
| |
|
|
|
|
| |
here, and generally nicer to the optimizer.
llvm-svn: 151659
|
| |
|
|
|
|
| |
message.
llvm-svn: 151657
|
| |
|
|
|
|
| |
test.
llvm-svn: 151656
|
| |
|
|
| |
llvm-svn: 151653
|
| |
|
|
|
|
| |
Solaris and we'll ship a __cxa_atexit implementation...
llvm-svn: 151648
|
| |
|
|
|
|
| |
name change went horribly wrong and I forgot to retest afterwards.
llvm-svn: 151641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
extension.
[libclang] Index the getter/setter methods of a property of a objc class extension.
Fixes rdar://10907597
llvm-svn: 151633
|
| |
|
|
|
|
| |
clang (and linking clang against it).
llvm-svn: 151632
|
| |
|
|
| |
llvm-svn: 151631
|
| |
|
|
|
|
| |
closest function context (Keychain API).
llvm-svn: 151613
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
conversion-to-block-pointer outside of ARC. Testcases coming up soon.
llvm-svn: 151603
|