| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
rdar://problem/9768338
llvm-svn: 135104
|
| |
|
|
| |
llvm-svn: 134567
|
| |
|
|
|
|
| |
on class declarations. Documentation for // rdar://9693477
llvm-svn: 134558
|
| |
|
|
|
|
| |
attribute on property. Document for // rdar://9636091.
llvm-svn: 134556
|
| |
|
|
| |
llvm-svn: 134544
|
| |
|
|
| |
llvm-svn: 133387
|
| |
|
|
| |
llvm-svn: 133386
|
| |
|
|
| |
llvm-svn: 133385
|
| |
|
|
|
|
| |
where mismatched semantics can cause undefined behavior.
llvm-svn: 133341
|
| |
|
|
|
|
|
| |
specifying that retain/release/autorelease/retainCount are forbidden,
plus a section talking about the behavior of dealloc.
llvm-svn: 133340
|
| |
|
|
|
|
|
|
|
|
|
| |
silently dropped ownership qualifiers that were being applied to
ownership-qualified, substituted type that was *not* a substituted
template type parameter. We now provide a diagnostic in such cases,
and recover by dropping the added qualifiers.
Document this behavior in the ARC specification.
llvm-svn: 133309
|
| |
|
|
| |
llvm-svn: 133304
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ownership-unqualified retainable object type as __strong. This allows
us to write, e.g.,
std::vector<id>
and we'll infer that the vector's element types have __strong
ownership semantics, which is far nicer than requiring:
std::vector<__strong id>
Note that we allow one to override the ownership qualifier of a
substituted template type parameter, e.g., given
template<typename T>
struct X {
typedef __weak T type;
};
X<id> is treated the same as X<__strong id>. At instantiation type,
the __weak in "__weak T" overrides the (inferred or specified)
__strong on the template argument type, so that we can still provide
metaprogramming transformations.
This is part of <rdar://problem/9595486>.
llvm-svn: 133303
|
|
|
feature.
Implementation to follow. :)
llvm-svn: 133090
|