| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 163709
|
|
|
|
| |
llvm-svn: 163701
|
|
|
|
|
|
|
|
| |
LLP64-incompatible tests.
I think some of them could be rewritten to fit also LLP64.
llvm-svn: 163699
|
|
|
|
|
|
|
|
|
|
| |
args where it should (implicit first arguments). FileCheck-ize a
test as well and update tests to take into account the object
pointer flag.
rdar://9797999
llvm-svn: 163668
|
|
|
|
|
|
|
|
|
| |
objc_retainAutoreleasedReturnValue, we need to also be killing
them during return peepholing. Make sure we recognize an
intervening bitcast, but more importantly, assert if we can't
find the asm marker at all. rdar://problem/12133032
llvm-svn: 163431
|
|
|
|
|
|
| |
Patch thanks to Joe Ranieri!
llvm-svn: 163330
|
|
|
|
| |
llvm-svn: 162866
|
|
|
|
| |
llvm-svn: 162865
|
|
|
|
|
|
| |
non-pointer types with a pointer representation correctly. PR13660.
llvm-svn: 162862
|
|
|
|
|
|
| |
This test case is pretty bad, though.
llvm-svn: 162694
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.
Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.
The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.
llvm-svn: 162244
|
|
|
|
| |
llvm-svn: 162096
|
|
|
|
|
|
|
| |
objc_release for performance for these most often
called APIs. // rdar://12040837
llvm-svn: 161448
|
|
|
|
|
|
| |
rdar://11842763
llvm-svn: 160554
|
|
|
|
| |
llvm-svn: 160528
|
|
|
|
|
|
|
|
| |
or implementation since we've now got a different layout.
Fixes rdar://11842763
llvm-svn: 160526
|
|
|
|
| |
llvm-svn: 160102
|
|
|
|
|
|
| |
runtime to gnustep from gnu. Fix EH for the GCC runtime.
llvm-svn: 159684
|
|
|
|
|
|
| |
when an argument type size is 0. // rdar://11777609, PR13229
llvm-svn: 159472
|
|
|
|
|
|
|
|
|
|
|
|
| |
literal helper functions. All helper functions (global
and locals) use block_invoke as their prefix. Local literal
helper names are prefixed by their enclosing mangled function
names. Blocks in non-local initializers (e.g. a global variable
or a C++11 field) are prefixed by their mangled variable name.
The descriminator number added to end of the name starts off
with blank (for first block) and _<N> (for the N+2-th block).
llvm-svn: 159206
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
target Objective-C runtime down to the frontend: break this
down into a single target runtime kind and version, and compute
all the relevant information from that. This makes it
relatively painless to add support for new runtimes to the
compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z,
available at the driver level as a better and more general
alternative to -fgnu-runtime and -fnext-runtime. This new
concept of an Objective-C runtime also encompasses what we
were previously separating out as the "Objective-C ABI", so
fragile vs. non-fragile runtimes are now really modelled as
different kinds of runtime, paving the way for better overall
differentiation.
As a sort of special case, continue to accept the -cc1 flag
-fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak.
I won't go so far as to say "no functionality change", even
ignoring the new driver flag, but subtle changes in driver
semantics are almost certainly not intended.
llvm-svn: 158793
|
|
|
|
|
|
|
|
| |
initializer need be null initialized before initializer takes
hold, just like any other initialized retainable object pointer.
// rdar://11016025
llvm-svn: 158738
|
|
|
|
|
|
|
|
| |
getter result type is safe but does not match with property
type resulting in spurious warning followed by crash in
IRGen. // rdar://11515196
llvm-svn: 157641
|
|
|
|
|
|
|
|
| |
sure we pick up the underlying type, per suggestion by Fariborz.
No functionality change.
llvm-svn: 156851
|
|
|
|
|
|
| |
missing classes.
llvm-svn: 156746
|
|
|
|
|
|
| |
NSAPI::isObjCTypedef() is doing.
llvm-svn: 156604
|
|
|
|
|
|
|
|
| |
numberWithBool:/numberWithInteger:/numberWithUnsignedInteger: NSNumber selectors.
rdar://11428703
llvm-svn: 156583
|
|
|
|
|
|
| |
// rdar://11323676
llvm-svn: 155664
|
|
|
|
|
|
|
|
|
| |
find forward declarations in the context that the actual definition
will occur.
rdar://11291658
llvm-svn: 155381
|
|
|
|
| |
llvm-svn: 155204
|
|
|
|
| |
llvm-svn: 155082
|
|
|
|
|
|
| |
so.
llvm-svn: 154569
|
|
|
|
| |
llvm-svn: 154485
|
|
|
|
|
|
| |
dependent upon metadata ordering.
llvm-svn: 154482
|
|
|
|
|
|
|
|
| |
an explicit instance variable.
rdar://10590352
llvm-svn: 154481
|
|
|
|
| |
llvm-svn: 154327
|
|
|
|
|
|
| |
for hooking in code flow visualisation applications.
llvm-svn: 154321
|
|
|
|
|
|
|
|
|
| |
getter and setter when they're synthesized with the default
names.
rdar://11179756
llvm-svn: 154130
|
|
|
|
|
|
|
|
| |
synthesized ones. Reasonable debug info size reduction for objc.
rdar://11179756
llvm-svn: 154129
|
|
|
|
|
|
|
| |
statement-expressions. Prevents cleanups and such from being
claimed by the first full-expression in the block.
llvm-svn: 153989
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property file/line rather than the @synthesize file/line. Avoids
some nasty confusing-ness with conflating the file from the scope
and the line from the original declaration. Use the current scope
location as a separate parameter so that we can match it up
better in the line table with the beginning of the scope.
Update a couple of testcases accordingly since I had to change
that we actually use the passed in location in EmitFunctionStart
and for the new metadata parameter and add a new testcase to
make sure we've got the right line numbers for synthesized
properties.
Part of rdar://11026482
llvm-svn: 153917
|
|
|
|
|
|
| |
is causing the gdb test failures on the bots.
llvm-svn: 153727
|
|
|
|
|
|
| |
methods with related result types. PR12384.
llvm-svn: 153716
|
|
|
|
| |
llvm-svn: 153715
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property file/line rather than the @synthesize file/line. Avoids
some nasty confusing-ness with conflating the file from the scope
and the line from the original declaration.
Update a couple of testcases accordingly since I had to change
that we actually use the passed in location in EmitFunctionStart.
Fixes rdar://11026482
llvm-svn: 153714
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
section. A 'normal' string will go into the __TEXT,__const section, but this
isn't good for UTF16 strings. The __ustring section allows for coalescing, among
other niceties (such as allowing the linker to easily split up strings).
Instead of outputting the UTF16 string as a series of bytes, output it as a
series of shorts. The back-end will then nicely place the UTF16 string into the
correct section, because it's a mensch.
<rdar://problem/10655949>
llvm-svn: 153710
|
|
|
|
|
|
|
|
| |
in the property debug info. Any more isn't necessary after all.
rdar://11144023
llvm-svn: 153659
|
|
|
|
|
|
|
|
|
|
|
| |
http://llvm.org/docs/SourceLevelDebugging.html#objcproperty
including type and DECL. Expand the getter and setter names
into the fully qualified names.
rdar://11144023
llvm-svn: 153640
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NSNumber, and boolean literals. This includes both Sema and Codegen support.
Included is also support for new Objective-C container subscripting.
My apologies for the large patch. It was very difficult to break apart.
The patch introduces changes to the driver as well to cause clang to link
in additional runtime support when needed to support the new language features.
Docs are forthcoming to document the implementation and behavior of these features.
llvm-svn: 152137
|
|
|
|
| |
llvm-svn: 151280
|