2 // Copyright (C) 2000 Free Software Foundation, Inc.
3 // Contributed by Nathan Sidwell 18 Jan 2001 <nathan@codesourcery.com>
5 // Bug 1617. We didn't resolve partial ordering properly. The std is rather
6 // vague about it anyway, DR 214 talks about this.
8 extern "C" int puts (char const *);
10 template <typename T> int Foo (T *) {puts (__PRETTY_FUNCTION__); return 1;}
11 template <typename T> int Foo (T &) {puts (__PRETTY_FUNCTION__); return 2;}
12 template <typename T> int Foo (T const &) {puts (__PRETTY_FUNCTION__); return 3;}
14 template <typename T> int Bar (T const *const &) {puts (__PRETTY_FUNCTION__); return 4;}
15 template <typename T> int Bar (T *const &) {puts (__PRETTY_FUNCTION__); return 5;}
16 template <typename T> int Bar (T *) {puts (__PRETTY_FUNCTION__); return 6;}
18 template <typename T> int Quux (T *const &) {puts (__PRETTY_FUNCTION__); return 7;}
19 template <typename T> int Quux (T const &) {puts (__PRETTY_FUNCTION__); return 8;}
22 int Baz (int const *ptr, int *ptr2)