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