| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 194951
|
|
|
|
| |
llvm-svn: 194946
|
|
|
|
| |
llvm-svn: 194795
|
|
|
|
|
|
|
|
|
|
| |
template, that member has a dependent type (even if we can see the definition
of the member of the primary template), because the array size could change in
a member specialization.
Patch by Karthik Bhat!
llvm-svn: 194740
|
|
|
|
| |
llvm-svn: 194458
|
|
|
|
|
|
|
|
|
|
|
|
| |
satisfy check7a and check8a since r194240.
For i686 targets and LLP64 targets, we can see;
error: 'error' diagnostics seen but not expected:
File clang/test/CXX/drs/dr1xx.cpp Line 761: 'check7a' declared as an array with a negative size
File clang/test/CXX/drs/dr1xx.cpp Line 765: 'check8a' declared as an array with a negative size
2 errors generated.
llvm-svn: 194246
|
|
|
|
| |
llvm-svn: 194240
|
|
|
|
| |
llvm-svn: 194215
|
|
|
|
| |
llvm-svn: 194192
|
|
|
|
|
|
|
|
|
|
|
| |
would be deleted are still declared, but are ignored by overload resolution.
Also, don't delete such members if a subobject has no corresponding move
operation and a non-trivial copy. This causes us to implicitly declare move
operations in more cases, but risks move-assigning virtual bases multiple
times in some circumstances (a warning for that is to follow).
llvm-svn: 193969
|
|
|
|
|
|
|
|
|
|
|
| |
that looks like a function declaration, except that it's missing a return type,
try typo-correcting it to the relevant constructor name.
In passing, fix a bug where the missing-type-specifier recovery codepath would
drop a preceding scope specifier on the floor, leading to follow-on diagnostics
and incorrect recovery for the auto-in-c++98 hack.
llvm-svn: 192644
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
variable from being the function to being the enclosing namespace scope (in
C++) or the TU (in C). This allows us to fix a selection of related issues
where we would build incorrect redeclaration chains for such declarations, and
fail to notice type mismatches.
Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern,
which is only found when searching scopes, and not found when searching
DeclContexts. Such a declaration is only made visible in its DeclContext if
there are no non-LocalExtern declarations.
llvm-svn: 191064
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointers to function type
We would disallow the case where the overloaded member expression is
coming from an address-of operator but we wouldn't issue any diagnostics
when the overloaded member expression comes by way of a function to
pointer decay cast.
Clang's implementation of DR61 is now seemingly complete.
llvm-svn: 187559
|
|
|
|
|
|
|
| |
Friend declarations that specify a default argument must be a definition
and the only declaration in the translation unit.
llvm-svn: 184889
|
|
|
|
|
|
|
|
|
|
| |
A default template-argument shall not be specified in a friend template
declaration.
Interestingly, we properly handled default template arguments on friend
class members but not on just friend classes.
llvm-svn: 184882
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem with r183462 was that we assumed that a diagnostic id of
zero would be silent.
This small correction to CheckDerivedToBaseConversion changes it's
behavior to omit the diagnostic when given a diagnostic id of zero.
This fix passes the test case added in r184402.
llvm-svn: 184631
|
|
|
|
|
|
|
| |
seem closely related. (I'm happy to move this if others have a better
idea of where to put it.)
llvm-svn: 184402
|
|
|
|
|
|
| |
This fixes PR16370, I'll add the test case in a follow-up commit.
llvm-svn: 184401
|
|
|
|
|
|
|
| |
namespaces, by treating them just like we treat extern "C" declarations in
function scope.
llvm-svn: 184223
|
|
|
|
|
|
| |
triggers an error on MS targets where __SIZE_TYPE__ expands to 'long long'.
llvm-svn: 184096
|
|
|
|
| |
llvm-svn: 184057
|
|
|
|
| |
llvm-svn: 184056
|
|
|
|
|
|
| |
not actually talking about a default constructor.
llvm-svn: 183885
|
|
|
|
|
|
|
| |
DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.
llvm-svn: 183723
|
|
|
|
|
|
|
| |
Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.
llvm-svn: 183722
|
|
|
|
|
|
|
|
| |
Disallowing deriving from classes that have private virtual base classes
except in instances where the deriving class would be able to cast
itself to the private virtual base via a different derivation.
llvm-svn: 183462
|
|
|
|
| |
llvm-svn: 182720
|
|
llvm-svn: 182207
|