// PR c++/91889 - follow-up fix for DR 2352. // { dg-do compile { target c++11 } } int i; void f1 (int *); void f1 (const int *const &); void f2 (int *); void f2 (const int *&); void f3 (const int *); void f3 (int *const &); void f4 (int *&); void f4 (int *const &); void f5 (const int *&); void f5 (int *const &); void f6 (int *const &); void f6 (const int *const &); void f7 (int **const); void f7 (const int *const *const &); void f8 (const int *const *); void f8 (const int *const *const &); void f9 (int *const *); void f9 (const int *const *const &); void g (int *p, const int *pc, const int **q) { f1 (p); f1 (pc); f2 (p); f2 (pc); f3 (p); f3 (pc); f4 (p); f5 (p); f5 (pc); f6 (p); f6 (pc); f7 (q); /* [over.ics.rank] --S1 and S2 differ only in their qualification conversion and yield similar types T1 and T2 (_conv.qual_), respectively, and the cv- qualification signature of type T1 is a proper subset of the cv- qualification signature of type T2 */ f8 (q); f9 (q); }