OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [g++.dg/] [abi/] [mangle13.C] - Rev 308

Go to most recent revision | Compare with Previous | Blame | View Log

// { dg-options "-fabi-version=0" }

struct A {
  template <typename T> int f ();
  int operator+();
  operator int ();
  template <typename T> 
  int operator-();
};

typedef int (A::*P)();

template <P> struct S {};

template <typename T> void g (S<&T::template f<int> >) {}
template <typename T> void g (S<&T::operator+ >) {}
template <typename T> void g (S<&T::operator int>) {}
template <typename T> void g (S<&T::template operator- <double> >) {}

template void g<A> (S<&A::f<int> >);
template void g<A> (S<&A::operator+>);
template void g<A> (S<&A::operator int>);
template void g<A> (S<&A::operator-<double> >);

// { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_1fIiEEE } }
// { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_plEE } }
// { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_cviEE } }
// { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_miIdEEE } }

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.