| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
* Removed \param comments for parameters that no longer exist;
* Fixed a "\para" typo to "\param";
* Escaped @, # and \ symbols as needed in Doxygen comments;
* Added use of \brief to output short summaries.
llvm-svn: 158498
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AST: For auto-synthesized ivars give them the location of the related
property (previously they had no source location). This allows them
to be indexed by libclang.
libclang: Make sure synthesized ivars are indexed before the methods that
may reference them.
Fixes rdar://11607001.
llvm-svn: 158189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
value_type
In addition, I've made the pointer and reference typedef 'void' rather than T*
just so they can't get misused. I would've omitted them entirely but
std::distance likes them to be there even if it doesn't use them.
This rolls back r155808 and r155869.
Review by Doug Gregor incorporating feedback from Chandler Carruth.
llvm-svn: 158104
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
While there make it a SmallPtrSet.
llvm-svn: 157532
|
|
|
|
| |
llvm-svn: 157194
|
|
|
|
|
|
| |
provide a 'fixit' to change 'readonly' to 'readwrite'. // rdar://11448209
llvm-svn: 157193
|
|
|
|
|
|
|
| |
and provide a 'fixit' to change 'readonly' to 'readwrite'. 'fixit'
part needs little more work. // rdar://11448209
llvm-svn: 157121
|
|
|
|
|
|
|
|
| |
type and its accessor type and issue error if types
are incompatible, instead of crashing in IRgen.
// rdar://1105153
llvm-svn: 156871
|
|
|
|
|
|
| |
between property and its backing ivar.
llvm-svn: 156832
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reserving a bit
in ObjCMethodDecl to indicate whether the method does not override any other method,
which is the majority of cases.
That way we can avoid unnecessary work doing lookups, especially when PCH is involved.
rdar://11360082
llvm-svn: 156476
|
|
|
|
| |
llvm-svn: 156391
|
|
|
|
|
|
|
|
|
|
|
| |
off PartialDiagnostic. PartialDiagnostic is rather heavyweight for
something that is in the critical path and is rarely used. So, switch
over to an abstract-class-based callback mechanism that delays most of
the work until a diagnostic is actually produced. Good for ~11k code
size reduction in the compiler and 1% speedup in -fsyntax-only on the
code in <rdar://problem/11004361>.
llvm-svn: 156176
|
|
|
|
|
|
|
| |
under -Wobjc-missing-property-synthesis which must be
opted-in. // rdar://11295716
llvm-svn: 156078
|
|
|
|
|
|
|
|
| |
<rdar://problem/11333367>.
While I'm here, fix source locations for other diagnostics related to property synthesis.
llvm-svn: 155953
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.
This change errs on the side of value, making op-> return T* and op* return
T&.
(reviewed by Richard Smith)
llvm-svn: 155808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The deferred lookup table building step couldn't accurately tell which Decls
should be included in the lookup table, and consequently built different tables
in some cases.
Fix this by removing lazy building of DeclContext name lookup tables. In
practice, the laziness was frequently not worthwhile in C++, because we
performed lookup into most DeclContexts. In C, it had a bit more value,
since there is no qualified lookup.
In the place of lazy lookup table building, we simply don't build lookup tables
for function DeclContexts at all. Such name lookup tables are not useful, since
they don't capture the scoping information required to correctly perform name
lookup in a function scope.
The resulting performance delta is within the noise on my testing, but appears
to be a very slight win for C++ and a very slight loss for C. The C performance
can probably be recovered (if it is a measurable problem) by avoiding building
the lookup table for the translation unit.
llvm-svn: 152608
|
|
|
|
|
|
|
|
|
|
| |
(Lex to AST).
The member variable is always "LangOpts" and the member function is always "getLangOpts".
Reviewed by Chris Lattner
llvm-svn: 152536
|
|
|
|
|
|
|
|
| |
track whether the referenced declaration comes from an enclosing
local context. I'm amenable to suggestions about the exact meaning
of this bit.
llvm-svn: 152491
|
|
|
|
|
|
|
| |
have matching user defined setter/getter and a warning is issued.
In this case, a fixit note is displayed. // rdar://10267155
llvm-svn: 151766
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
must still auto synthesize those propeties which have been redeclared
in the class. // rdar://10907410
llvm-svn: 151268
|
|
|
|
|
|
| |
rdar://problem/10904479
llvm-svn: 151089
|
|
|
|
|
|
|
| |
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
|
|
|
|
|
|
|
| |
include.
Fix all the transitive include users.
llvm-svn: 149783
|
|
|
|
| |
llvm-svn: 149639
|
|
|
|
|
|
| |
type in continuation class.
llvm-svn: 149625
|
|
|
|
|
|
|
|
| |
property to 'readwrite', also allow redeclaration of
property type to a narrowring object type.
// rdar://10790488
llvm-svn: 149614
|
|
|
|
| |
llvm-svn: 147963
|
|
|
|
|
|
|
| |
life-time to that of its backing 'ivar's lifetime.
// rdar://10558871
llvm-svn: 147956
|
|
|
|
|
|
|
| |
c++ objects with non-trivial assignment/copy functions.
Also, one additional sema check. // rdar://6137845
llvm-svn: 147817
|
|
|
|
|
|
| |
'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.
llvm-svn: 147622
|
|
|
|
|
|
|
| |
properties in classes declared with objc_suppress_autosynthesis
attribute, pinpoint location of the said class in a note.
llvm-svn: 147562
|
|
|
|
|
|
|
|
| |
variety is treated as a 'void *'. No need to issue
warning reserved for objc object properties.
// rdar://10565506
llvm-svn: 147504
|
|
|
|
|
|
| |
which should not be default synthesized.
llvm-svn: 147468
|
|
|
|
|
|
| |
protocols; with a warning. // rdar://10567333
llvm-svn: 146626
|
|
|
|
|
|
|
|
| |
to declaresSameEntity(), as a baby step toward tracking forward
declarations of Objective-C classes precisely. Part of
<rdar://problem/10583531>.
llvm-svn: 146618
|
|
|
|
|
|
| |
// rdar://10535245
llvm-svn: 146272
|
|
|
|
|
|
|
| |
primary and its continuation class into error.
// rdar://10142679
llvm-svn: 145255
|
|
|
|
|
|
| |
introduces/redeclares a property.
llvm-svn: 144520
|
|
|
|
|
|
| |
type is strong by default too. // rdar://10410903
llvm-svn: 144118
|
|
|
|
|
|
| |
include ownership qualifiers from the type.
llvm-svn: 143885
|
|
|
|
|
|
| |
// rdar://10357768
llvm-svn: 143518
|
|
|
|
|
|
| |
GCC compiler workaround.
llvm-svn: 142931
|
|
|
|
|
|
| |
r142914: "Introduce a placeholder type for "pseudo object""
r142915: "Pull the pseudo-object stuff into its own file."
llvm-svn: 142921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expressions: expressions which refer to a logical rather
than a physical l-value, where the logical object is
actually accessed via custom getter/setter code.
A subsequent patch will generalize the AST for these
so that arbitrary "implementing" sub-expressions can
be provided.
Right now the only client is ObjC properties, but
this should be generalizable to similar language
features, e.g. Managed C++'s __property methods.
llvm-svn: 142914
|
|
|
|
| |
llvm-svn: 142406
|
|
|
|
|
|
| |
by reference. // rdar://10188258
llvm-svn: 142075
|
|
|
|
|
|
| |
// rdar://10239594
llvm-svn: 141915
|