Template instantiation for compound assignment operators.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72126 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaTemplateInstantiateExpr.cpp b/lib/Sema/SemaTemplateInstantiateExpr.cpp
index e5ad0cd..9dda383 100644
--- a/lib/Sema/SemaTemplateInstantiateExpr.cpp
+++ b/lib/Sema/SemaTemplateInstantiateExpr.cpp
@@ -50,6 +50,7 @@
     // FIXME: VisitMemberExpr
     // FIXME: CompoundLiteralExpr
     OwningExprResult VisitBinaryOperator(BinaryOperator *E);
+    OwningExprResult VisitCompoundAssignOperator(CompoundAssignOperator *E);
     OwningExprResult VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E);
     OwningExprResult VisitCXXConditionDeclExpr(CXXConditionDeclExpr *E);
     OwningExprResult VisitConditionalOperator(ConditionalOperator *E);
@@ -284,6 +285,12 @@
 }
 
 Sema::OwningExprResult 
+TemplateExprInstantiator::VisitCompoundAssignOperator(
+                                                 CompoundAssignOperator *E) {
+  return VisitBinaryOperator(E);
+}
+
+Sema::OwningExprResult 
 TemplateExprInstantiator::VisitCXXOperatorCallExpr(CXXOperatorCallExpr *E) {
   Sema::OwningExprResult First = Visit(E->getArg(0));
   if (First.isInvalid())