Don't crash when printing auto variables.

Patch by Axel Naumann!

llvm-svn: 274859
This commit is contained in:
Vassil Vassilev 2016-07-08 16:04:22 +00:00
parent c813c8113d
commit cdaa31fe84
2 changed files with 11 additions and 0 deletions

View File

@ -132,6 +132,8 @@ static QualType GetBaseType(QualType T) {
BaseType = VTy->getElementType();
else if (const ReferenceType *RTy = BaseType->getAs<ReferenceType>())
BaseType = RTy->getPointeeType();
else if (const AutoType *ATy = BaseType->getAs<AutoType>())
BaseType = ATy->getDeducedType();
else
llvm_unreachable("Unknown declarator!");
}

View File

@ -227,3 +227,12 @@ template <typename T> struct Foo : T {
using T::operator-;
};
}
namespace dont_crash {
struct T { enum E {X = 12ll }; };
struct S {
struct { int I; } ADecl;
static const auto Y = T::X;
};
//CHECK: static const auto Y = T::X;
}