| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
Do not warn when property declared in class's protocol will be auto-synthesized
by its uper class implementation because super class has also declared this
property while this class has not. Continue to warn if current class
has declared the property also (because this declaration will not result
in a 2nd synthesis).
rdar://18152478
llvm-svn: 216753
|
|
|
|
|
|
| |
needing to mention the size.
llvm-svn: 215869
|
|
|
|
|
|
|
|
| |
properties are not synthesized in property auto-synthesis,
as it can potentiall lead to runtime errors.
rdar://17774815
llvm-svn: 214032
|
|
|
|
| |
llvm-svn: 209812
|
|
|
|
|
|
| |
takeAs to getAs.
llvm-svn: 209800
|
|
|
|
|
|
|
| |
same framework after complaining about duplicate class definition.
// rdar://17024681
llvm-svn: 209672
|
|
|
|
| |
llvm-svn: 209613
|
|
|
|
|
|
|
| |
Based on a patch by jfcaron3@gmail.com!
PR19806
llvm-svn: 209215
|
|
|
|
| |
llvm-svn: 209061
|
|
|
|
| |
llvm-svn: 207896
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for the msvc pragmas section, bss_seg, code_seg,
const_seg and data_seg as well as support for __declspec(allocate()).
Additionally it corrects semantics and adds diagnostics for
__attribute__((section())) and the interaction between the attribute
and the msvc pragmas and declspec. In general conflicts should now be
well diganosed within and among these features.
In supporting the pragmas new machinery for uniform lexing for
msvc pragmas was introduced. The new machinery always lexes the
entire pragma and stores it on an annotation token. The parser
is responsible for parsing the pragma when the handling the
annotation token.
There is a known outstanding bug in this implementation in C mode.
Because these attributes and pragmas apply _only_ to definitions, we
process them at the time we detect a definition. Due to tentative
definitions in C, we end up processing the definition late. This means
that in C mode, everything that ends up in a BSS section will end up in
the _last_ BSS section rather than the one that was live at the time of
tentative definition, even if that turns out to be the point of actual
definition. This issue is not known to impact anything as of yet
because we are not aware of a clear use or use case for #pragma bss_seg
but should be fixed at some point.
Differential Revision=http://reviews.llvm.org/D3065#inline-16241
llvm-svn: 205810
|
|
|
|
|
|
| |
propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203930
|
|
|
|
|
|
| |
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203922
|
|
|
|
|
|
| |
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203863
|
|
|
|
|
|
| |
known_extensions_end() with iterator_range known_extensions(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203857
|
|
|
|
|
|
| |
all_referenced_protocol_begin() and all_referenced_protocol_end() with iterator_range all_referenced_protocols(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203848
|
|
|
|
|
|
|
|
| |
protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases.
llvm-svn: 203842
|
|
|
|
|
|
| |
instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203839
|
|
|
|
|
|
| |
for clarity.
llvm-svn: 203835
|
|
|
|
|
|
| |
with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203830
|
|
|
|
| |
llvm-svn: 203588
|
|
|
|
|
|
|
|
| |
iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.
This is a reapplication of r203236 with modifications to the definition of attrs() and following the new style guidelines on auto usage.
llvm-svn: 203362
|
|
|
|
|
|
| |
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
|
|
|
|
|
|
| |
MSVC bots.
llvm-svn: 203237
|
|
|
|
|
|
| |
attrs(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203236
|
|
|
|
|
|
|
| |
synthesizing protocol properties if class's super class
implements them. // rdar://16089191
llvm-svn: 203028
|
|
|
|
| |
llvm-svn: 202115
|
|
|
|
|
|
|
|
|
|
|
| |
behave correctly with default property synthesis.
In particular, if we see an @property within the @interface of a class
conforming to a protocol with this attribute, we treat that as
if the implementation were available, per the rules of default
property synthesis.
llvm-svn: 201911
|
|
|
|
|
|
| |
'objc_protocol_requires_explicit_implementation'.
llvm-svn: 201880
|
|
|
|
|
|
|
|
|
| |
DiagnoseUnimplementedProperties.
We're going to extend DiagnoseUnimplementedProperties shortly to look for more cases
that aren't handled by default property synthesis.
llvm-svn: 201878
|
|
|
|
|
|
|
|
| |
method.
No functionality change.
llvm-svn: 201877
|
|
|
|
|
|
|
|
| |
mismatches the one declared in current class; in addition to
those that are directly overridden.
// rdar://15967517
llvm-svn: 201446
|
|
|
|
|
|
|
|
| |
parimary class and in mrr mode, assume property's default
memory attribute (assign) and to prevent a bogus warning.
// rdar://15859862
llvm-svn: 200238
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A return type is the declared or deduced part of the function type specified in
the declaration.
A result type is the (potentially adjusted) type of the value of an expression
that calls the function.
Rule of thumb:
* Declarations have return types and parameters.
* Expressions have result types and arguments.
llvm-svn: 200082
|
|
|
|
|
|
|
|
| |
user, and attributes implicitly generated to assist in bookkeeping by the compiler. This is done so by table generating a CreateImplicit method for each attribute.
Additionally, remove the optional nature of the spelling list index when creating attributes. This is supported by table generating a Spelling enumeration when the spellings for an attribute are distinct enough to warrant it.
llvm-svn: 199378
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the synthesized AST contained an rvalue DeclRefExpr for 'self'.
Now, it has an lvalue DeclRefExpr wrapped in an lvalue-to-rvalue
ImplicitCastExpr, which is what's generated when an ivar access is written
in the source.
No (intended) functionality change.
llvm-svn: 199225
|
|
|
|
|
|
|
|
|
| |
property has the naming convention that implies 'ownership'.
2) improve on diagnostic and make it property specific.
3) fix the line number in the case of default property
synthesis. // rdar://15757510
llvm-svn: 198905
|
|
|
|
| |
llvm-svn: 198418
|
|
|
|
| |
llvm-svn: 198416
|
|
|
|
|
|
| |
change intended -- this only replaces Boolean uses of getAttr.
llvm-svn: 197648
|
|
|
|
|
|
| |
and methods. rdar://15450637
llvm-svn: 197625
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property declaration has a memory management
attribute (retain, copy, etc.). Sich properties
are usually overridden to become 'readwrite'
via a class extension (which require the memory
management attribute specified). In the absence of class
extension override, memory management attribute is
needed to produce correct Code Gen. for the
property getter in any case and this warning becomes
confusing to user. // rdar://15641300
llvm-svn: 197251
|
|
|
|
|
|
|
|
| |
property and protocol name.
Implements <rdar://problem/15617839>.
llvm-svn: 197187
|
|
|
|
|
|
|
|
| |
does not
override all of the designated initializers of its superclass.
llvm-svn: 196319
|
|
|
|
|
|
|
| |
property is redeclared as 'weak' in class extension.
// rdar://15465916
llvm-svn: 195146
|
|
|
|
|
|
|
| |
is redeclared as 'weak' in class extension.
// rdar://15304886
llvm-svn: 193453
|
|
|
|
|
|
|
| |
ownership attribute (such as 'copy', 'assign' etc.)
// rdar://15131088
llvm-svn: 192115
|
|
|
|
|
|
|
|
| |
(assign/unsafe_unretained/weak/retain/strong/copy) in super class
to be overridden by a property with any explicit ownership in the
subclass. // rdar://15014468
llvm-svn: 191971
|
|
|
|
|
|
|
|
|
|
| |
of ObjectiveC properties to mean annotation of
NS_RETURNS_INNER_POINTER on its synthesized getter.
This also facilitates more migration to properties when
methods are annotated with NS_RETURNS_INNER_POINTER.
// rdar://14990439
llvm-svn: 191009
|
|
|
|
|
|
| |
<rdar://problem/14354144>
llvm-svn: 185897
|