summaryrefslogtreecommitdiffstats
path: root/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-02-08 20:39:08 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-02-08 20:39:08 +0000
commit774f90458c8ac4e32862fdfc4a441b4ef27d94d1 (patch)
tree174038f7f9208d82325ef9a5ea0ebde938154100 /lib/Sema/SemaDeclCXX.cpp
parentbb6cfd425256f3d1fef0874834820784dc67a852 (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.cpp3
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);