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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [debug/] [dwarf2/] [pr52260.C] - Blame information for rev 852

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

Line No. Rev Author Line
1 693 jeremybenn
// PR debug/52260
2
// { dg-do compile }
3
// { dg-options "-gdwarf-4 -std=c++0x" }
4
 
5
namespace { typedef decltype (nullptr) T1; }
6
struct B {};
7
namespace A
8
{
9
  template 
10
  struct C { static constexpr T value = __v; };
11
  typedef C  D;
12
  template 
13
  struct E : D {};
14
  template 
15
  struct F : C ::value)> {};
16
  template 
17
  struct G { typedef T t; };
18
}
19
template 
20
struct H {};
21
namespace A
22
{
23
  template 
24
  struct I : H  {};
25
  template  struct J;
26
  template  struct K;
27
  struct L
28
  {
29
    template 
30
    struct M
31
    {
32
      template  static bool m2 (T) { return false; }
33
    };
34
  };
35
  template  struct N;
36
  template 
37
  struct N  : L::M  {};
38
  template 
39
  struct K  :J <,>, L
40
  {
41
    typedef T O (B4 ...);
42
    struct P {};
43
    template  K (B2, typename G ::value, P>::t = P ());
44
  };
45
  template 
46
  template 
47
  K ::K (B2 __f, typename G ::value, P>::t)
48
  {
49
    typedef N  Q;
50
    Q::m2 (__f);
51
  };
52
}
53
enum R { r1 };
54
const R r2 = r1;
55
namespace A
56
{
57
  template 
58
  struct S {};
59
  template >
60
  struct U {};
61
  template 
62
  struct V { T *operator -> (); };
63
  template 
64
  struct W : V 
65
  {
66
    W (const W &);
67
    W (T1) {}
68
    W & operator= (W) {}
69
  };
70
  template  struct Z;
71
  struct AA
72
  {
73
    struct AB
74
    {
75
      struct AC { void operator () () {} };
76
    };
77
    template  using AD = U ;
78
    struct AE
79
    {
80
      typedef AD  AZ;
81
      virtual ~AE ();
82
      void o3 (K , bool = false) {}
83
      template  struct AY;
84
      struct C1 {};
85
      template  struct AY 
86
      {
87
        AZ operator () () { return AZ (); }
88
        Z  _M_Z;
89
      };
90
      template 
91
      static AY  _s1 (B, Z  *);
92
    };
93
  };
94
  template <>
95
  struct Z 
96
  {
97
    typedef AA::AE AF;
98
    W  o4;
99
    void foo (B __p)
100
    {
101
      auto _s1 = AF::_s1 (__p, this);
102
      o4->o3 (_s1);
103
    }
104
  };
105
  template 
106
  struct AG {};
107
  template >
108
  struct AH : AG 
109
  {
110
    void bar (T) { baz (); }
111
    template 
112
    void baz (_Args && ...);
113
  };
114
  template 
115
  template 
116
  void AH ::baz (_Args && ...) {}
117
  namespace
118
  {
119
    typedef A::K  AI;
120
    struct AF
121
    {
122
      int v2;
123
      AI v1;
124
      AF (int, unsigned, AI __t) : v2 (), v1 (__t) {}
125
    };
126
    struct D3 : A::AH 
127
    {
128
      typedef AF AFT;
129
      void v3 (AI __t) { bar (AFT (4, v4, __t)); }
130
      int v4;
131
    };
132
  }
133
}

powered by: WebSVN 2.1.0

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