| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 212442
|
|
|
|
|
|
|
|
|
| |
when casting a retainable object to a objc_bridge_related
CF type with the suggestion of applying the method
specified in the bridging attribute to the object.
// rdar://15932435
llvm-svn: 211807
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
than one method with mismatched type of same selector name.
clang issues a warning to point this out since it may cause
undefined behavior. There are cases though that some APIs
don't care about user methods and such warnings are perceived as
noise. This patch allows users to add paren delimiters around
selector name to turn off such warnings. So, @selector((save:)) will
turn off the warning. It also provides 'fixit' so user knows
what to do. // rdar://16458579
llvm-svn: 211611
|
|
|
|
|
|
|
|
| |
retainable ObjC pointers without requiring a bridge-cast
in the context of pointer comparison as this is in effect
a +0 context. // rdar://16627903
llvm-svn: 211243
|
|
|
|
| |
llvm-svn: 211237
|
|
|
|
|
|
|
| |
retainable ObjC pointers without requiring a bridge-cast
by recognizing this as a +0 context. // rdar://16627903
llvm-svn: 211234
|
|
|
|
|
|
| |
boxed expression. // rdar://16417427
llvm-svn: 211215
|
|
|
|
|
|
|
|
|
| |
IBOutlet and weak attributes when accessed being
unpredictably set to nil because usage of such properties
are always single threaded and its ivar cannot be set
to nil asynchronously. // rdar://15885642
llvm-svn: 211132
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compilation pipeline doesn't actually need to know about the high-level
concept of diagnostic mappings, and hiding the final computed level presents
several simplifications and other potential benefits.
The only exceptions are opportunistic checks to see whether expensive code
paths can be avoided for diagnostics that are guaranteed to be ignored at a
certain SourceLocation.
This commit formalizes that invariant by introducing and using
DiagnosticsEngine::isIgnored() in place of individual level checks throughout
lex, parse and sema.
llvm-svn: 211005
|
|
|
|
|
|
|
| |
a fix to make it work when CFStructs have no definition.
// rdar://17238954.
llvm-svn: 210690
|
|
|
|
|
|
|
|
| |
correctly when both NSAttributedString and
NSMutableAttributedString are specified on the same
CFStruct via different typedefs. // rdar://17238954
llvm-svn: 210660
|
|
|
|
| |
llvm-svn: 209812
|
|
|
|
|
|
| |
takeAs to getAs.
llvm-svn: 209800
|
|
|
|
| |
llvm-svn: 209613
|
|
|
|
|
|
|
| |
type ,and bridge attribute, checking with static_cast.
// rdar://16756639
llvm-svn: 208474
|
|
|
|
|
|
|
| |
only when named selector is declared in TU and it is not declared in a system
header. rdar://16600230
llvm-svn: 208443
|
|
|
|
|
|
| |
// rdar://16737117
llvm-svn: 207542
|
|
|
|
|
|
| |
symbols in non-imported modules.
llvm-svn: 206977
|
|
|
|
|
|
|
|
| |
on CF type is not sufficient and bridge casting is
still required for proper ownership semantics.
// rdar://16650445
llvm-svn: 206910
|
|
|
|
|
|
|
| |
objects to fund root class's instance methods.
// rdar://16650575
llvm-svn: 206781
|
|
|
|
|
|
|
| |
an opt-in option under -Wselector-type-mismatch.
// rdar://16445728
llvm-svn: 204965
|
|
|
|
|
|
|
|
| |
warnings (warning or lack there of) as well since
blocks are another pattern for envoking other
designated initializers. // rdar://16323233
llvm-svn: 204081
|
|
|
|
|
|
| |
qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204048
|
|
|
|
|
|
| |
iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204047
|
|
|
|
|
|
| |
in an @selector expression. // rdar://15794055
llvm-svn: 203693
|
|
|
|
|
|
| |
class.
llvm-svn: 203640
|
|
|
|
|
|
|
|
| |
Also assert that we never create non-array string literals again.
PR18939.
llvm-svn: 202147
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
warning.
- Remove the additions to ObjCMethodDecl & ObjCIVarDecl that were getting de/serialized and consolidate
all functionality for the checking for this warning in Sema::DiagnoseUnusedBackingIvarInAccessor
- Don't check immediately after the method body is finished, check when the @implementation is finished.
This is so we can see if the ivar was referenced by any other method, even if the method was defined after the accessor.
- Don't silence the warning if any method is called from the accessor silence it if the accessor delegates to another method via self.
rdar://15727325
llvm-svn: 198432
|
|
|
|
| |
llvm-svn: 198391
|
|
|
|
|
|
|
| |
backing ivar by not issuing this warning if ivar is referenced
somewhere and accessor makes method calls. // rdar://15727325
llvm-svn: 198367
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce proper facilities to render token spellings using the diagnostic
formatter.
Replaces most of the hard-coded diagnostic messages related to expected tokens,
which all shared the same semantics but had to be multiply defined due to
variations in token order or quote marks.
The associated parser changes are largely mechanical but they expose
commonality in whole chunks of the parser that can now be factored away.
This commit uses C++11 typed enums along with a speculative legacy fallback
until the transition is complete.
Requires corresponding changes in LLVM r197895.
llvm-svn: 197972
|
|
|
|
|
|
|
|
| |
directly.
No functional changes intended.
llvm-svn: 197676
|
|
|
|
|
|
|
|
| |
cstring, converted to NSString, produce the
matching AST for it. This also required some
refactoring of the previous code. // rdar://14106083
llvm-svn: 197605
|
|
|
|
|
|
|
|
| |
when diagnosing casting of a cstring literal to
NSString in default and -fobjc-arc mode.
// rdar://14106083
llvm-svn: 197515
|
|
|
|
|
|
|
|
|
|
| |
of objc_bridge_related attribute; eliminate
unnecessary diagnostics which is issued elsewhere,
fixit now produces a valid AST tree per convention.
This results in some simplification in handling of
this attribute as well. // rdar://15499111
llvm-svn: 197436
|
|
|
|
|
|
|
|
|
| |
superclass are,
assume that a [super init..] inside a designated initializer also refers to a designated one
and do not warn.
llvm-svn: 197202
|
|
|
|
|
|
|
| |
when selector in objc_bridge_related attribute names
a property. // rdar://15517899
llvm-svn: 196984
|
|
|
|
|
|
| |
// rdar://15499111
llvm-svn: 196977
|
|
|
|
|
|
| |
// rdar://15499111
llvm-svn: 196950
|
|
|
|
|
|
|
| |
attributed CF to ObjC type conversions.
// rdar://15499111
llvm-svn: 196935
|
|
|
|
|
|
| |
use of objc_bridge_related attribute. // rdar://15499111
llvm-svn: 196828
|
|
|
|
|
|
|
|
|
| |
attribute in sema and issuing a variety of diagnostics lazily
for misuse of this attribute (and what to do) when converting
from CF types to ObjectiveC types (and vice versa).
// rdar://15499111
llvm-svn: 196629
|
|
|
|
| |
llvm-svn: 196510
|
|
|
|
|
|
|
|
|
|
|
| |
super another initializer and when the implementation does not delegate to
another initializer via a call on 'self'.
A secondary initializer is an initializer method not marked as a designated
initializer within a class that has at least one initializer marked as a
designated initializer.
llvm-svn: 196318
|
|
|
|
|
|
|
|
| |
calls on
super an initializer that is not a designated one or any initializer on self.
llvm-svn: 196317
|
|
|
|
|
|
|
|
| |
does not chain to
an init method that is a designated initializer for the superclass.
llvm-svn: 196316
|
|
|
|
|
|
|
|
| |
whose semantic is currently identical to objc_bridge,
but their differences may manifest down the road with
further enhancements. // rdar://15498044
llvm-svn: 195376
|
|
|
|
|
|
|
| |
ARC and in objectiveC/ObjectiveC++ MRR mode as well.
// rdar://15454846
llvm-svn: 195288
|
|
|
|
|
|
| |
or from a toll free bridge cast. // rdar://15454846
llvm-svn: 195278
|