| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
considering valid objc pointer converions.
llvm-svn: 98557
|
| |
|
|
|
|
|
| |
comparing DeclContext pointers, to avoid having to remember to call
getPrimaryContext() everywhere. This is the last part PR6594.
llvm-svn: 98546
|
| |
|
|
|
|
|
|
|
|
|
| |
parameter hides a namespace-scope declararion with the same name in an
out-of-line definition of a template. The lookup requires a strange
interleaving of lexical and semantic scopes (go C++), which I have not
yet handled in the typo correction/code completion path.
Fixes PR6594.
llvm-svn: 98544
|
| |
|
|
| |
llvm-svn: 98541
|
| |
|
|
|
|
|
|
|
|
|
| |
on unqualified declarations.
Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes
with the ASTContext and delete them during Destroy(). I audited a bunch of
Destroy methods at the same time, to ensure that the correct teardown was
being done.
llvm-svn: 98540
|
| |
|
|
|
|
| |
destructors.
llvm-svn: 98440
|
| |
|
|
| |
llvm-svn: 98436
|
| |
|
|
|
| |
Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test)
llvm-svn: 98399
|
| |
|
|
| |
llvm-svn: 98397
|
| |
|
|
| |
llvm-svn: 98375
|
| |
|
|
|
|
|
|
| |
whether it inherited one from a previous declaration.
Patch by Enea Zaffanella!
llvm-svn: 98362
|
| |
|
|
|
|
|
|
| |
voids in sub-expressions. Patch by Mike M!
Fixes PR4806.
llvm-svn: 98335
|
| |
|
|
|
|
| |
the handling of class extensions from other cases.
llvm-svn: 98326
|
| |
|
|
|
|
| |
contexts.
llvm-svn: 98321
|
| |
|
|
| |
llvm-svn: 98320
|
| |
|
|
|
|
| |
so we can clearly see the parser entry points.
llvm-svn: 98319
|
| |
|
|
| |
llvm-svn: 98318
|
| |
|
|
|
|
| |
a separate file.
llvm-svn: 98317
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the @implementation (instead of the @interface) and actually add
the ivar to the DeclContext (which we weren't doing before).
This allows us to simplify ASTContext::CollectNonClassIvars() by
removing ASTContext::CollectProtocolSynthesizedIvars(). Now all
ivars can be found by either inspecting the ObjCInterfaceDecl and
its companion ObjCImplementationDecl.
llvm-svn: 98280
|
| |
|
|
|
|
| |
Patch by mikem!
llvm-svn: 98279
|
| |
|
|
| |
llvm-svn: 98275
|
| |
|
|
|
|
| |
there's a good equivalent that's actually true, unfortunately.
llvm-svn: 98253
|
| |
|
|
|
|
|
|
|
|
|
| |
instantiation. Based on a patch by Enea Zaffanella! I found a way to
reduce some of the redundancy between TreeTransform's "standard"
FunctionProtoType transformation and TemplateInstantiator's override,
and I killed off the old SubstFunctionType by adding type source info
for the last cases where we were creating FunctionDecls without TSI
(at least that get passed through template instantiation).
llvm-svn: 98252
|
| |
|
|
|
|
|
|
|
| |
I'm expecting this portion of the AST to grow and change, and I'd like to
be able to do that with minimal recompilation. If this proves unnecessary
when access control is fully-implemented, I'll fold the classes back into
DeclCXX.h.
llvm-svn: 98249
|
| |
|
|
| |
llvm-svn: 98135
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
injected class name of a class template or class template partial specialization.
This is a non-canonical type; the canonical type is still a template
specialization type. This becomes the TypeForDecl of the pattern declaration,
which cleans up some amount of code (and complicates some other parts, but
whatever).
Fixes PR6326 and probably a few others, primarily by re-establishing a few
invariants about TypeLoc sizes.
llvm-svn: 98134
|
| |
|
|
|
|
| |
This fixes PR6474.
llvm-svn: 98123
|
| |
|
|
|
|
| |
of the class name.
llvm-svn: 97943
|
| |
|
|
|
|
|
|
|
|
| |
Objective-C method declaration, e.g., for
- (Foo *)myMethod;
we now have TypeSourceInfo for the Foo*.
llvm-svn: 97942
|
| |
|
|
| |
llvm-svn: 97941
|
| |
|
|
|
|
| |
jump-diagnostics handling for variables without initializers
llvm-svn: 97929
|
| |
|
|
|
|
|
|
|
| |
uninitialized. This seems not to be the case in C++0x, where we still
call the (trivial) default constructor for a POD class
(!). Previously, we had implemented only the C++0x rules; now we
implement both. Fixes PR6536.
llvm-svn: 97928
|
| |
|
|
|
|
|
|
|
| |
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
(For real this time)
llvm-svn: 97927
|
| |
|
|
|
|
| |
types. Fixes PR6463.
llvm-svn: 97924
|
| |
|
|
|
|
|
| |
pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes
PR6072.
llvm-svn: 97923
|
| |
|
|
|
|
|
| |
that is not reference-related (because it requires another implicit
conversion to which we can find). Fixes PR6483.
llvm-svn: 97922
|
| |
|
|
|
|
|
| |
are lexically nested. Othewise, we never end up recording semantically nested
classes.
llvm-svn: 97900
|
| |
|
|
| |
llvm-svn: 97898
|
| |
|
|
| |
llvm-svn: 97896
|
| |
|
|
| |
llvm-svn: 97894
|
| |
|
|
| |
llvm-svn: 97893
|
| |
|
|
|
|
| |
the block. Fixes radar 7671883.
llvm-svn: 97863
|
| |
|
|
|
|
| |
caught can be copy-initialized and destructed. Fixes PR6518.
llvm-svn: 97853
|
| |
|
|
|
|
| |
pointer types. Fixes radar 7626768.
llvm-svn: 97847
|
| |
|
|
| |
llvm-svn: 97686
|
| |
|
|
| |
llvm-svn: 97677
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nested-name-specifier. For example, this allows member access in
diamond-shaped hierarchies like:
struct Base {
void Foo();
int Member;
};
struct D1 : public Base {};
struct D2 : public Base {};
struct Derived : public D1, public D2 { }
void Test(Derived d) {
d.Member = 17; // error: ambiguous cast from Derived to Base
d.D1::Member = 17; // error: okay, modify D1's Base's Member
}
Fixes PR5820 and <rdar://problem/7535045>. Also, eliminate some
redundancy between Sema::PerformObjectMemberConversion() and
Sema::PerformObjectArgumentInitialization() -- the latter now calls
the former.
llvm-svn: 97674
|
| |
|
|
|
|
|
|
|
|
|
|
| |
declarations after the member has been explicitly specialized. We already
did this after explicit instantiation definitions; not doing it for
declarations meant that subsequent definitions would see a previous
member declaration with specialization kind "explicit instantiation decl",
which would then happily get overridden.
Fixes PR 6458.
llvm-svn: 97605
|
| |
|
|
|
|
|
|
| |
we need to synthesize has been marked as used by Sema.
Change Sema to avoid these asserts.
llvm-svn: 97589
|
| |
|
|
|
|
| |
careful about value-dependent enumerators. Fixes PR5786.
llvm-svn: 97570
|