1// { dg-do assemble } 2 3// Based on testcase by adriang@campbellsoft.com 4 5struct Null { 6 template <typename T> operator T*() { return 0; } 7 template <typename C, typename T> operator T C::*() { return 0; } 8#if WORK_AROUND 9 typedef int pmf(); 10 template <typename C> operator pmf C::* () { return 0; } 11#endif 12} NULL; 13 14int *pd = NULL; 15int (*pf)() = NULL; 16int Null::*pmd = NULL; 17int (Null::*pmf)() = NULL; 18