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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [dfp/] [mangle-1.C] - Blame information for rev 774

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

Line No. Rev Author Line
1 693 jeremybenn
// { dg-do compile }
2
 
3
// Mangling of classes from std::decimal are special-cased.
4
// Derived from g++.dg/abi/mangle13.C.
5
 
6
namespace std {
7
  namespace decimal {
8
    class decimal64 {
9
      public:
10
        typedef float __decfloat64 __attribute__ ((mode (DD)));
11
        explicit decimal64 (float __r):__val (__r) {}
12
      private:
13
        __decfloat64 __val;
14
    };
15
  }
16
}
17
 
18
struct A {
19
  template  std::decimal::decimal64 f ();
20
  std::decimal::decimal64 operator+();
21
  operator std::decimal::decimal64 ();
22
  template 
23
  std::decimal::decimal64 operator-();
24
};
25
 
26
typedef std::decimal::decimal64 (A::*P)();
27
 
28
template 

struct S {};

29
 
30
template  void g (S<&T::template f >) {}
31
template  void g (S<&T::operator+ >) {}
32
template  void g (S<&T::operator std::decimal::decimal64>) {}
33
template  void g (S<&T::template operator-  >) {}
34
 
35
template void g (S<&A::f >);
36
template void g (S<&A::operator+>);
37
template void g (S<&A::operator std::decimal::decimal64>);
38
 
39
// { dg-final { scan-assembler "\n?_Z1gI1AEv1SIXadsrT_1fIDdEEE\[: \t\n\]" } }
40
// { dg-final { scan-assembler "\n?_Z1gI1AEv1SIXadsrT_plEE\[: \t\n\]" } }

powered by: WebSVN 2.1.0

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