2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / template / ptrmem8.C
blobd0473f5cc16a0a68413a8b25be179ff93db428e3
1 // { dg-do compile }
2 // Origin: <marco dot franzen at bigfoot dot com> 
3 // PR c++/10126: Handle ptmf default conversions while matching a template 
4 //  argument
6 struct B 
8   int I () const;
9   int I ();
12 struct D : B {};
14 template <int (D::*fun)() const> int Get(); // { dg-message "note" }
16 int main () 
18   Get<&B::I>();   // { dg-error "not a valid template argument" "not valid" }
19   // { dg-error "no match" "no match" { target *-*-* } 18 }
20   // { dg-message "note" "note" { target *-*-* } 18 }
21   Get<&D::I>();   // { dg-error "not a valid template argument" "not valid" }
22   // { dg-error "no match" "no match" { target *-*-* } 21 }
23   // { dg-message "note" "note" { target *-*-* } 21 }