| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 113076
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols
(and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in
an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced
in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is
needed to maintain the lexical information of the original source.
Fixes <rdar://problem/8380046>.
llvm-svn: 112691
|
| |
|
|
|
|
| |
doesn't fit. Instead, special-case the few places where transparent contexts have the desired behavior for inline namespaces. Fixes a redeclaration issue in inline namespaces.
llvm-svn: 112637
|
| |
|
|
|
|
|
| |
Clients of Sema don't need to know (for example) the list of diagnostics we
support.
llvm-svn: 112093
|
| |
|
|
|
|
| |
to the new constants.
llvm-svn: 112047
|
| |
|
|
| |
llvm-svn: 112038
|
| |
|
|
| |
llvm-svn: 112030
|
| |
|
|
| |
llvm-svn: 112026
|
| |
|
|
|
|
|
| |
#include Sema.h while keeping all the AST declarations opaque. That may
not be reasonably attainable, though.
llvm-svn: 111907
|
| |
|
|
| |
llvm-svn: 111733
|
| |
|
|
|
|
|
|
|
| |
- move DeclSpec &c into the Sema library
- move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.
llvm-svn: 111667
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations (in addition to macros). Each kind of declaration maps to
a certain set of completion contexts, and the ASTUnit completion logic
introduces the completion strings for those declarations if the actual
code-completion occurs in one of the contexts where it matters.
There are a few new code-completion-context kinds. Without these,
certain completions (e.g., after "using namespace") would need to
suppress all global completions, which would be unfortunate.
Note that we don't get the priorities right for global completions,
because we don't have enough type information. We'll need a way to
compare types in an ASTContext-agnostic way before this can be
implemented.
llvm-svn: 111093
|
| |
|
|
| |
llvm-svn: 110945
|
| |
|
|
|
|
| |
Fixes a crash in a rather large and difficult-to-reduce test case.
llvm-svn: 110882
|
| |
|
|
| |
llvm-svn: 110860
|
| |
|
|
|
|
|
|
| |
that actually refer to the same underlying type, it is not an
ambiguity; add uniquing support based on the canonical type of type
declarations. Fixes <rdar://problem/8296180>.
llvm-svn: 110806
|
| |
|
|
|
|
|
| |
spell-checking. By default, spell-checking is enabled for Clang
(obviously) but disabled in CIndex for performance reasons.
llvm-svn: 107992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations for implicit default constructors, copy constructors,
copy assignment operators, and destructors. On a "simple" translation
unit that includes a bunch of C++ standard library headers, we
generate relatively few of these implicit declarations now:
4/159 implicit default constructors created
18/236 implicit copy constructors created
70/241 implicit copy assignment operators created
0/173 implicit destructors created
And, on this translation unit, this optimization doesn't really
provide any benefit. I'll do some more performance measurements soon,
but this completes the implementation work for <rdar://problem/8151045>.
llvm-svn: 107551
|
| |
|
|
| |
llvm-svn: 107543
|
| |
|
|
|
|
| |
constructor-name lookup.
llvm-svn: 107536
|
| |
|
|
| |
llvm-svn: 107521
|
| |
|
|
| |
llvm-svn: 107510
|
| |
|
|
|
|
| |
calls use that routine
llvm-svn: 107444
|
| |
|
|
|
|
| |
rdar://problem/8124080 and PR7118.
llvm-svn: 107358
|
| |
|
|
| |
llvm-svn: 104991
|
| |
|
|
| |
llvm-svn: 104990
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the x86-64 __va_list_tag with this attribute. The attribute causes the
affected type to behave like a fundamental type when considered by ADL.
(x86-64 is the only target we currently provide with a struct-based
__builtin_va_list)
Fixes PR6762.
llvm-svn: 104941
|
| |
|
|
|
|
| |
a type.
llvm-svn: 104938
|
| |
|
|
|
|
|
| |
class for UnresolvedLookupExprs, even when occuring on template
names" along with a fix for an Objective-C++ crasher it introduced.
llvm-svn: 104277
|
| |
|
|
| |
llvm-svn: 104207
|
| |
|
|
|
|
|
|
|
|
| |
instance variables:
- Use isRecordType() rather than isa<RecordType>(), so that we see
through typedefs in ivar types.
- Mark the destructor as referenced
- Perform C++ access control on the destructor
llvm-svn: 104206
|
| |
|
|
|
|
|
| |
occuring on..." which breaks some Objective-C code. Working on getting a test
case...
llvm-svn: 104150
|
| |
|
|
|
|
|
|
|
|
|
| |
template names. We were completely missing naming classes for many unqualified
lookups, but this didn't trigger code paths that need it. This removes part of
an optimization that re-uses the template name lookup done by the parser to
determine if explicit template arguments actually form a template-id.
Unfortunately the technique for avoiding the duplicate lookup lost needed data
such as the class context in which the lookup succeeded.
llvm-svn: 104117
|
| |
|
|
|
|
|
|
|
| |
non-function-local declarations with names similar to what the user
typed. For example, this allows us to correct 'supper' to 'super' in
an Objective-C message send, even though the C function 'isupper' has
the same edit distance.
llvm-svn: 104023
|
| |
|
|
|
|
|
|
|
| |
consider "super" as a candidate whenever we're parsing an expression
within an Objective-C method in an interface that has a superclass. At
some point, we'd like to give "super" a little edge over non-local
names; that will come later.
llvm-svn: 104022
|
| |
|
|
|
|
|
| |
scopes during unqualified name lookup that has fallen out to namespace
scope. Fixes PR7133.
llvm-svn: 103766
|
| |
|
|
|
|
|
| |
already knows what context it's looking in. Just pass that context in
instead of (questionably) recalculating it.
llvm-svn: 102818
|
| |
|
|
| |
llvm-svn: 102695
|
| |
|
|
|
|
|
|
| |
using declaration, look at its underlying declaration to determine the
lookup result kind (e.g., overloaded, unresolved). Fixes at least one
issue in Boost.Bimap.
llvm-svn: 102317
|
| |
|
|
|
|
| |
through using declarations. Fixes ~18 tests in Boost.Fusion.
llvm-svn: 102311
|
| |
|
|
|
|
|
| |
declaration" (i.e. the only which will actually be looked up) to have the
non-member-operator bit.
llvm-svn: 102231
|
| |
|
|
|
|
| |
testsuite.
llvm-svn: 102224
|
| |
|
|
|
|
| |
a simple IDNS mask by introducing a namespace for non-member operators.
llvm-svn: 102215
|
| |
|
|
|
|
| |
two bugfixes which fix selfhost and (hopefully) the nightly tests.
llvm-svn: 102198
|
| |
|
|
|
|
| |
same", which seems to break most C++ nightly test apps.
llvm-svn: 102174
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
way that C does. Among other differences, elaborated type specifiers
are defined to skip "non-types", which, as you might imagine, does not
include typedefs. Rework our use of IDNS masks to capture the semantics
of different kinds of declarations better, and remove most current lookup
filters. Removing the last remaining filter is more complicated and will
happen in a separate patch.
Fixes PR 6885 as well some spectrum of unfiled bugs.
llvm-svn: 102164
|
| |
|
|
|
|
|
| |
aren't and never were used. There's a gap in the bit pattern for IDNS
now, but I'm sure *someone* will fill it.
llvm-svn: 102143
|
| |
|
|
|
|
|
|
| |
look from an Objective-C class or category to its implementation, to
pick up synthesized ivars. Fixes a problem reported by David
Chisnall.
llvm-svn: 101792
|
| |
|
|
|
|
|
|
| |
in case it ends up doing something that might trigger diagnostics
(template instantiation, ambiguity reporting, access
reporting). Noticed while working on PR6831.
llvm-svn: 101412
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
generally recover from typos in keywords (since we would effectively
have to mangle the token stream). However, there are still benefits to
typo-correcting with keywords:
- We don't make stupid suggestions when the user typed something
that is similar to a keyword.
- We can suggest the keyword in a diagnostic (did you mean
"static_cast"?), even if we can't recover and therefore don't have
a fix-it.
llvm-svn: 101274
|