summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/dfp/mangle-5.C
blob: 794577f866a381d7befe588ab47e2132c8a0419e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// { dg-do compile }

// Mangling of classes from std::decimal are special-cased.
// Derived from g++.dg/abi/mangle35.C.

namespace std {
  namespace decimal {
    class decimal128 {
      public:
	typedef float __decfloat128 __attribute__ ((mode (TD)));
	explicit decimal128 (int __r):__val (__r) {}
      private:
	__decfloat128 __val;
    };
  }
}

template<void (*)()> struct A {};

template<typename> void foo();

template<typename T> A<foo<T> > bar();

void baz()
{
  bar<std::decimal::decimal128>();
}

// { dg-final { scan-assembler "_Z3barIDeE1AIX3fooIT_EEEv" } }