OSDN Git Service

/cp
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / nullptr14.C
1 // { dg-do compile }
2 // { dg-options "-std=c++0x" }
3
4 // Test overload preference char*/int
5
6 template <typename T, typename U> struct tType_equal;
7 template <typename T> struct tType_equal<T, T> { typedef void type; };
8
9 template <typename T, typename U>
10 inline typename tType_equal<T, U>::type
11 type_equal(U) { }
12
13 char* f( char* );
14 int f( int );
15 long int f( long int );
16
17 void test_f()
18 {
19   // Overloading cases
20   //
21   type_equal<char*>(f(nullptr));
22   type_equal<int>(f(0));
23   decltype(nullptr) mynull = 0;
24   type_equal<char*>(f(mynull));
25 }