| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Fixes PR3782.
llvm-svn: 99940
|
| |
|
|
|
|
|
|
|
|
|
|
| |
may be tokens left in the token stream
that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because
the CachedTokens that holds them will be deleted while the lexer is still using them.
Make sure that the tokens of default args are removed from the token stream.
Fixes PR6647.
llvm-svn: 99939
|
| |
|
|
|
|
|
|
| |
name in the outermost block of a if/else that declares the same name
is ill-formed. Turns out that Clang and MSVC were right about PR6739;
GCC is too lax.
llvm-svn: 99937
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the underlying/instantiated decl) through a lot of API, including "intermediate"
MemberExprs required for (e.g.) template instantiation. This is necessary
because of the access semantics of member accesses to using declarations:
only the base class *containing the using decl* need be accessible from the
naming class.
This allows us to complete an access-controlled selfhost, if there are no
recent regressions.
llvm-svn: 99936
|
| |
|
|
|
|
|
|
| |
double 0.000000e+000
instead of
double 0.000000e+00
llvm-svn: 99932
|
| |
|
|
|
|
| |
memmove, and memset
llvm-svn: 99930
|
| |
|
|
|
|
|
|
|
|
| |
involving substitution of deduced template arguments into a class
template partial specialization or function template, or when
substituting explicitly-specific template arguments into a function
template. We now print the actual deduced argument bindings so the
user can see what got deduced.
llvm-svn: 99923
|
| |
|
|
|
|
|
|
| |
'const'.
Fixes a false positive reported in PR 6288.
llvm-svn: 99922
|
| |
|
|
|
|
|
|
| |
This introduces FunctionType::ExtInfo to hold the calling convention and the
noreturn attribute. The next patch will extend it to include the regparm
attribute and fix the bug.
llvm-svn: 99920
|
| |
|
|
|
|
| |
6302.
llvm-svn: 99904
|
| |
|
|
|
|
| |
objective-c methods. (radar 7418262).
llvm-svn: 99903
|
| |
|
|
|
|
|
|
| |
class has no key function.
Fix PR6738.
llvm-svn: 99900
|
| |
|
|
|
|
| |
fields in an anonymous struct.
llvm-svn: 99891
|
| |
|
|
|
|
| |
as seen in PR6628 but for arrays this time.
llvm-svn: 99867
|
| |
|
|
|
|
| |
when synthesizing a copy constructor. Fixes PR6628.
llvm-svn: 99864
|
| |
|
|
| |
llvm-svn: 99863
|
| |
|
|
|
|
| |
verified that this passes a self-host but I'll let the bots self host as well before removing the now dead code.
llvm-svn: 99861
|
| |
|
|
|
|
| |
of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251.
llvm-svn: 99829
|
| |
|
|
|
|
| |
PR6661, patch by Ori Avtalion!
llvm-svn: 99821
|
| |
|
|
| |
llvm-svn: 99812
|
| |
|
|
|
|
| |
end of a struct/class/union in C++, from Justin Bogner!
llvm-svn: 99811
|
| |
|
|
|
|
| |
initializing virtual bases in the wrong order.
llvm-svn: 99806
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check deduced non-type template arguments and template template
arguments against the template parameters for which they were deduced,
performing conversions as appropriate so that deduced template
arguments get the same treatment as explicitly-specified template
arguments. This is the bulk of PR6723.
Also keep track of whether deduction of a non-type template argument
came from an array bound (vs. anywhere else). With this information,
we enforce C++ [temp.deduct.type]p17, which requires exact type
matches when deduction deduces a non-type template argument from
something that is not an array bound.
Finally, when in a SFINAE context, translate the "zero sized
arrays are an extension" extension diagnostic into a hard error (for
better standard conformance), which was a minor part of PR6723.
llvm-svn: 99734
|
| |
|
|
|
|
| |
whose protocolls methods needs implementation.
llvm-svn: 99730
|
| |
|
|
| |
llvm-svn: 99729
|
| |
|
|
|
|
|
|
| |
of objc classes; including which methods
need be implemented and where they come from.
WIP.
llvm-svn: 99724
|
| |
|
|
|
|
|
|
| |
nested within, and suddenly local classes start working. Wouldn't be
necessary if I hadn't used local classes in Clang in the first place.
Or, well, wouldn't be necessary yet. :)
llvm-svn: 99709
|
| |
|
|
| |
llvm-svn: 99708
|
| |
|
|
| |
llvm-svn: 99702
|
| |
|
|
|
|
|
| |
instead of the canonical parameter type (which has correctly dropped all such
direct qualifiers). Fixes PR6695.
llvm-svn: 99688
|
| |
|
|
|
|
| |
lexical context. This is required for ADL to work properly; fixes PR6716.
llvm-svn: 99665
|
| |
|
|
|
|
| |
namespace aliases. Fixes PR6341.
llvm-svn: 99664
|
| |
|
|
|
|
| |
when determining if it returns. Fixes <rdar://problem/7796563>.
llvm-svn: 99663
|
| |
|
|
|
|
|
|
| |
through the bases and fields of the definition of the class in which
the constructor is declared, rather than some other declaration of
that class.
llvm-svn: 99661
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
templates.
What happens here is that we actually turn the first declaration into a
definition, regardless of whether it was actually originally a definition,
and furthermore we do this all after we've instantiated all the declarations.
This exposes a bug in my DefinitionData patch where it was only setting the
DefinitionData for previous declarations, not future declarations.
Fortunately, there's an iterator for that.
llvm-svn: 99657
|
| |
|
|
|
|
|
|
|
| |
expression can be converted to the type of another, only apply the
lvalue-to-rvalue conversion to the type of the expression we're
converting, *not* the array-to-pointer or function-to-pointer
conversions. Fixes PR6595.
llvm-svn: 99652
|
| |
|
|
|
|
| |
we aren't always able to find on Win32.
llvm-svn: 99649
|
| |
|
|
|
|
| |
CheckReferenceInit to using the new initialization sequence code.
llvm-svn: 99647
|
| |
|
|
| |
llvm-svn: 99634
|
| |
|
|
| |
llvm-svn: 99627
|
| |
|
|
|
|
| |
Abramo Bagnara!
llvm-svn: 99626
|
| |
|
|
| |
llvm-svn: 99625
|
| |
|
|
|
|
| |
form a >>=. Patch by Abramo Bagnara, testcase by me.
llvm-svn: 99624
|
| |
|
|
| |
llvm-svn: 99623
|
| |
|
|
|
|
|
| |
argument list seems to be different, but in fact
is semantically equivalent; check that we do not error here
llvm-svn: 99617
|
| |
|
|
| |
llvm-svn: 99616
|
| |
|
|
| |
llvm-svn: 99615
|
| |
|
|
| |
llvm-svn: 99613
|
| |
|
|
|
|
| |
pattern if it has a body.
llvm-svn: 99610
|
| |
|
|
| |
llvm-svn: 99601
|