| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
reflect what these methods are actually doing. One method
template for future work. No change in functionality.
llvm-svn: 93742
|
| |
|
|
|
|
| |
Zaffanella (with a couple of my tweaks).
llvm-svn: 93733
|
| |
|
|
| |
llvm-svn: 93726
|
| |
|
|
|
|
|
|
|
|
| |
which are instantiations of the member functions of local
classes. These implicit instantiations have to occur at the same time
as---and in the same local instantiation scope as---the enclosing
function, since the member functions of the local class can refer to
locals within the enclosing function. This should really, really fix PR5764.
llvm-svn: 93666
|
| |
|
|
|
|
|
|
|
| |
to merge the local instantiation scope with the outer local
instantiation scope, so that we can instantiate declarations from the
function owning the local class. Fixes an assert while instantiating
Boost.MPL's BOOST_MPL_ASSERT_MSG.
llvm-svn: 93651
|
| |
|
|
|
|
|
|
| |
function template declared within a class template did not match a
function in another scope. We really need to rework how
friends-in-templates are semantically checked.
llvm-svn: 93642
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
previously only had a single location (the @ in @interface); now we
know where the @ is (for the start of the declaration), where the
class name is (that's the normal "location" now for diagnostics), and
where the category name is. Also, eliminated the redundant "end"
location, since ObjCContainerDecl already has better @end information.
The only XFAIL'd test is temporary; will un-XFAIL-it once I've taught
CIndex how to use the new locations.
llvm-svn: 93639
|
| |
|
|
|
|
|
|
| |
Objective-C classes, protocol definitions, forward protocol
declarations, and categories. This information isn't actually used
yet; that's coming next.
llvm-svn: 93636
|
| |
|
|
| |
llvm-svn: 93629
|
| |
|
|
|
|
| |
pointer-to-member operator.
llvm-svn: 93592
|
| |
|
|
| |
llvm-svn: 93584
|
| |
|
|
|
|
|
|
| |
stand at the back of the line.
Thanks to Oliver Hunt for reminding me to do this.
llvm-svn: 93583
|
| |
|
|
| |
llvm-svn: 93574
|
| |
|
|
|
|
| |
Fixes PR 6049.
llvm-svn: 93557
|
| |
|
|
|
|
| |
instantiation.
llvm-svn: 93533
|
| |
|
|
|
|
| |
Also we don't need to recheck for altivec initializers, I think.
llvm-svn: 93529
|
| |
|
|
|
|
| |
Patch by Enea Zaffanella.
llvm-svn: 93522
|
| |
|
|
|
|
| |
qualifiers. Fixes PR6021.
llvm-svn: 93513
|
| |
|
|
|
|
|
|
|
|
| |
Adjust BuildMemberReferenceExpr to perform the inheritance check on implicit
member accesses, which can arise from unqualified lookups and therefore may
reference decls from enclosing class scopes.
Fixes PR 5838.
llvm-svn: 93510
|
| |
|
|
| |
llvm-svn: 93500
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
do not look into base classes if there are any dependent base
classes. Instead, note in the lookup result that we couldn't look into
any dependent bases. Use that new result kind to detect when this case
occurs, so that we can fall back to treating the type/value/etc. as a
member of an unknown specialization.
Fixes an issue where we were resolving lookup at template definition
time and then missing an ambiguity at template instantiation time.
llvm-svn: 93497
|
| |
|
|
| |
llvm-svn: 93452
|
| |
|
|
|
|
| |
the dyn_cast against NULL rather than the *input*. Fixes PR6025.
llvm-svn: 93435
|
| |
|
|
|
|
|
|
| |
finds nothing), and the current instantiation has dependent base
classes, treat the qualified lookup as if it referred to an unknown
specialization. Fixes PR6031.
llvm-svn: 93433
|
| |
|
|
|
|
| |
declarations we're adding do not need any name-hiding checks.
llvm-svn: 93431
|
| |
|
|
|
|
| |
eliminating yet one more ResultBuilder::MaybeAddResult caller.
llvm-svn: 93430
|
| |
|
|
|
|
| |
ResultBuilder::MaybeAddResult over to ResultBuilder::AddResult.
llvm-svn: 93429
|
| |
|
|
|
|
|
|
| |
after adding the ability to determine whether our lookup is a
base-class lookup. Eliminate CollectMemberLookupResults, since it is
no longer used (yay).
llvm-svn: 93428
|
| |
|
|
|
|
| |
LookupVisibleDecls. Also, a function does not hide another function.
llvm-svn: 93421
|
| |
|
|
|
|
|
| |
for special diagnostics. Unfortunately, the non-overload diagnostics are not
this good.
llvm-svn: 93420
|
| |
|
|
|
|
| |
of the more general LookupVisibleDecls.
llvm-svn: 93419
|
| |
|
|
|
|
|
| |
than traversing visible declarations twice, only perform one traversal
and recognize nested-name-specifiers as special.
llvm-svn: 93418
|
| |
|
|
|
|
| |
Thanks Ted.
llvm-svn: 93413
|
| |
|
|
|
|
|
|
| |
need an error term for the CFG. I suspect we'll always have to cope
with getCFG returning 0, though, I'd love to see even that possibility
removed.
llvm-svn: 93411
|
| |
|
|
|
|
|
| |
provided nested-name-specifier results for base classes (only), rather
than everything that could possibly be a nested-name-specifier.
llvm-svn: 93398
|
| |
|
|
|
|
|
|
|
|
| |
LookupVisibleDecls, unifying the name lookup mechanisms used by code
completion and typo correction. Aside from the software-engineering
improvements, this makes code-completion see through using directives
and see ivars when performing unqualified name lookup in an
Objective-C instance method.
llvm-svn: 93397
|
| |
|
|
|
|
| |
about 'object argument' vs. 'nth argument'.
llvm-svn: 93395
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 93386
|
| |
|
|
|
|
| |
code-completion's ResultBuilder::MaybeAddResult for later reuse.
llvm-svn: 93379
|
| |
|
|
| |
llvm-svn: 93378
|
| |
|
|
|
|
| |
are no longer using it for anything. No intended functionality change.
llvm-svn: 93376
|
| |
|
|
|
|
|
|
| |
the "typed" text, first, then take into account
nested-name-specifiers, name hiding, etc. This means that the
resulting sort is actually alphabetical :)
llvm-svn: 93370
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to be considering user-defined conversions in the first place.
Doug, please review; I'm not sure what we should be doing if we see a real
ambiguity in selecting a copy constructor when otherwise suppressing
user-defined conversions.
Fixes PR6014.
llvm-svn: 93365
|
| |
|
|
| |
llvm-svn: 93362
|
| |
|
|
| |
llvm-svn: 93361
|
| |
|
|
|
|
|
|
|
|
|
| |
provide completions for @ keywords. Previously, we only provided
@-completions after an @ was actually typed, which is useful but
probably not the common case.
Also, make sure a few Objective-C 2.0 completions only show up when
Objective-C 2.0 support is enabled (the default).
llvm-svn: 93354
|
| |
|
|
|
|
| |
Patch by Enea Zaffanella.
llvm-svn: 93344
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that name constructors, the endless joys of out-of-line constructor
definitions, and various other corner cases that the previous hack
never imagined. Fixes PR5688 and tightens up semantic analysis for
constructor names.
Additionally, fixed a problem where we wouldn't properly enter the
declarator scope of a parenthesized declarator. We were entering the
scope, then leaving it when we saw the ")"; now, we re-enter the
declarator scope before parsing the parameter list.
Note that we are forced to perform some tentative parsing within a
class (call it C) to tell the difference between
C(int); // constructor
and
C (f)(int); // member function
which is rather unfortunate. And, although it isn't necessary for
correctness, we use the same tentative-parsing mechanism for
out-of-line constructors to improve diagnostics in icky cases like:
C::C C::f(int); // error: C::C refers to the constructor name, but
// we complain nicely and recover by treating it as
// a type.
llvm-svn: 93322
|
| |
|
|
|
|
|
| |
information to feed diagnostics instead of regenerating it. Much room for
improvement here, but fixes some unfortunate problems reporting on method calls.
llvm-svn: 93316
|
| |
|
|
|
|
|
| |
This now rejects literal operators that don't meet the requirements.
Templates are not yet checked for.
llvm-svn: 93315
|