When comparing parameters of reference-to-qualified type during
partial ordering of function templates, use a simple superset
relationship rather than the convertibility-implying
isMoreQualifiedThan/compatibilyIncludes relationship. Fixes partial
ordering between references and address-space-qualified references.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130612 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaTemplate/address-spaces.cpp b/test/SemaTemplate/address-spaces.cpp
index df262e1..eda03db 100644
--- a/test/SemaTemplate/address-spaces.cpp
+++ b/test/SemaTemplate/address-spaces.cpp
@@ -73,3 +73,14 @@
   identity<int> ii = accept_arg_in_address_space_1(int_1);
   identity<int __attribute__((address_space(1)))> ii2 = accept_any_arg(int_1);
 }
+
+// Partial ordering
+template<typename T> int &order1(__attribute__((address_space(1))) T&);
+template<typename T> float &order1(T&);
+
+void test_order1() {
+  static __attribute__((address_space(1))) int i1;
+  int i;
+  int &ir = order1(i1);
+  float &fr = order1(i);
+}