When transforming an InitListExpr, if we already computed a non-dependent type for the InitListExpr, keep it

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86559 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp
index 33d2623..641ea24 100644
--- a/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -188,13 +188,11 @@
       Var->setInvalidDecl();
     else if (!D->getType()->isDependentType() &&
              !D->getInit()->isTypeDependent() &&
-             !D->getInit()->isValueDependent() &&
-             !isa<InitListExpr>(D->getInit())) {
+             !D->getInit()->isValueDependent()) {
       // If neither the declaration's type nor its initializer are dependent,
       // we don't want to redo all the checking, especially since the
       // initializer might have been wrapped by a CXXConstructExpr since we did
       // it the first time.
-      // FIXME: The InitListExpr handling here is a hack!
       Var->setInit(SemaRef.Context, Init.takeAs<Expr>());
     }
     else if (ParenListExpr *PLE = dyn_cast<ParenListExpr>((Expr *)Init.get())) {