| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 141793
|
|
|
|
|
|
| |
property in the diagnostic.
llvm-svn: 141745
|
|
|
|
|
|
| |
nonatomic. // rdar://10260017
llvm-svn: 141580
|
|
|
|
|
|
|
| |
related to a readwrite property, and
Sub's readwrite property. // rdar://9396329
llvm-svn: 141497
|
|
|
|
|
|
| |
for atomic setters which requires assignment operator.
llvm-svn: 141415
|
|
|
|
|
|
| |
on one accessor and user-provide with another.
llvm-svn: 141343
|
|
|
|
|
|
|
| |
operator= is called. Issue a warning for non-trivial case until
runtime support is provided. // rdar://6137845
llvm-svn: 141302
|
|
|
|
|
|
| |
continuation class into warning. // rdar://10231514
llvm-svn: 141100
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
-Immediately before the arguments: -(id)first:(int)x second:(int)y;
-With a space between the arguments: -(id)first: (int)x second: (int)y;
-For nullary selectors, immediately before ';': -(void)release;
In such cases we infer the locations instead of storing them.
llvm-svn: 140989
|
|
|
|
|
|
|
|
| |
objc method decls.
They are not stored in the AST yet.
llvm-svn: 140984
|
|
|
|
|
|
| |
from the selector.
llvm-svn: 140983
|
|
|
|
| |
llvm-svn: 140657
|
|
|
|
|
|
|
| |
protocol declares the property, as well as one of its superclasses.
Property will be implemented in the super class. // rdar://10120691
llvm-svn: 140586
|
|
|
|
|
|
| |
hasSameUnqualifiedType in //rdar://10156674
llvm-svn: 140576
|
|
|
|
|
|
| |
ingore the type qualifiers. // rdar://10156674
llvm-svn: 140571
|
|
|
|
|
|
|
| |
must match property type declaration in its
primary class. // rdar://10142679
llvm-svn: 140438
|