Ignore qualifiers when attempting to match arguments to parameter types for 
__builtin_overload



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49943 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index fd02443..e3298f3 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -2168,10 +2168,13 @@
 /// arguments in FnType.
 static bool ExprsMatchFnType(Expr **Args, const FunctionTypeProto *FnType) {
   unsigned NumParams = FnType->getNumArgs();
-  for (unsigned i = 0; i != NumParams; ++i)
-    if (Args[i]->getType().getCanonicalType() != 
-        FnType->getArgType(i).getCanonicalType())
+  for (unsigned i = 0; i != NumParams; ++i) {
+    QualType ExprTy = Args[i]->getType().getCanonicalType();
+    QualType ParmTy = FnType->getArgType(i).getCanonicalType();
+
+    if (ExprTy.getUnqualifiedType() != ParmTy.getUnqualifiedType())
       return false;
+  }
   return true;
 }