diff --git a/include/clang/AST/EvaluatedExprVisitor.h b/include/clang/AST/EvaluatedExprVisitor.h
index dcb125497bcacfefdb9237cd2c08c5a65710dcce..6835a76699a0961c0c37931e4e45b2a1eb07a83f 100644
--- a/include/clang/AST/EvaluatedExprVisitor.h
+++ b/include/clang/AST/EvaluatedExprVisitor.h
@@ -63,7 +63,7 @@ public:
     // a glvalue of polymorphic type. (C++ 5.2.8p2-3)
     if (!E->isTypeOperand() && E->Classify(Context).isGLValue())
       if (const RecordType *Record 
-                        = E->getExprOperand()->getType()->getAs<RecordType>())
+                 = E->getExprOperand()->getType()->template getAs<RecordType>())
         if (cast<CXXRecordDecl>(Record->getDecl())->isPolymorphic())
           return this->Visit(E->getExprOperand());
   }