Delay checking of dependent underlying types for redeclarations of member
enumerations in templates until the template is instantiated.
llvm-svn: 153426
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 68b27ef..e92b3e4 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -7780,7 +7780,9 @@
}
if (IsFixed && Prev->isFixed()) {
- if (!Context.hasSameUnqualifiedType(EnumUnderlyingTy,
+ if (!EnumUnderlyingTy->isDependentType() &&
+ !Prev->getIntegerType()->isDependentType() &&
+ !Context.hasSameUnqualifiedType(EnumUnderlyingTy,
Prev->getIntegerType())) {
Diag(EnumLoc, diag::err_enum_redeclare_type_mismatch)
<< EnumUnderlyingTy << Prev->getIntegerType();