diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-02-08 20:39:08 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-02-08 20:39:08 +0000 |
commit | 774f90458c8ac4e32862fdfc4a441b4ef27d94d1 (patch) | |
tree | 174038f7f9208d82325ef9a5ea0ebde938154100 /lib/Sema/SemaDeclCXX.cpp | |
parent | bb6cfd425256f3d1fef0874834820784dc67a852 (diff) |
More fixes for places where 'decltype(auto)' is permitted in the C++ grammar but makes no sense.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294509 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index f84d14cfa8..974e09f78d 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -3728,6 +3728,9 @@ Sema::BuildMemInitializer(Decl *ConstructorD, BaseType = GetTypeFromParser(TemplateTypeTy, &TInfo); } else if (DS.getTypeSpecType() == TST_decltype) { BaseType = BuildDecltypeType(DS.getRepAsExpr(), DS.getTypeSpecTypeLoc()); + } else if (DS.getTypeSpecType() == TST_decltype_auto) { + Diag(DS.getTypeSpecTypeLoc(), diag::err_decltype_auto_invalid); + return true; } else { LookupResult R(*this, MemberOrBase, IdLoc, LookupOrdinaryName); LookupParsedName(R, S, &SS); |