// Simple smoke test to see that the demangler is actually working

namespace abc {
template <typename T1, typename T2> 
class def {
  public:
    T1 xyzzy(T1 *p, T2 *)
    {
      return *p ? 10 : 20;
    }
  };
};

template <typename T> 
class magic {
public:
  T xyzzy(T *p)
  {
    return (new abc::def<int,typeof(*this)>)->xyzzy(p, 0);
  }
};

int main()
{
   magic<int> *c = new magic<int>;

   c->xyzzy(new int);
   return 0;
}
