File: scope5.C

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (68 lines) | stat: -rw-r--r-- 1,789 bytes parent folder | download | duplicates (2)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// PR c++/84296

namespace b {}
namespace c {
using namespace b;
}
namespace b {
template <int d> struct e { static const int f = d; };
}
template <typename> struct g;
template <typename h, typename i, typename aa, typename j>
struct g<h(i, aa, j)> : h::template ab<i, aa, j> {};
struct k {
  template <typename l> struct m { typedef typename g<l>::n o; };
};
template <typename> struct ac;
struct r {
  typedef ac<int> p;
};
template <typename q> struct s : k {
  template <typename i, typename, typename>
  struct ab : q::template t<typename i::u>::template ab<i, int, int> {};
};
struct ad {
  typedef int u;
};
template <typename> struct ae;
template <typename, typename ag> struct ah {
  typedef ae<ag> ai;
  typedef typename ai::template w<ai(r, int)>::o n;
};
struct x {
  template <typename i, typename, typename> struct ab : ah<i, int> {};
};
struct y {
  struct z {
    template <typename> struct t : x {};
  };
  struct aj : s<z> {};
};
template <typename i> struct ak {
  typedef y::aj al;
  typedef typename al::m<al(i, int, int)>::o o;
};
struct am {
  enum { an };
};
template <typename> struct ao {};
template <typename af> struct ap : af::aq {};
template <> struct ae<int> {
  template <typename> struct w;
  template <typename ar, typename as, typename at> struct w<ar(as, at)> {
    typedef typename as::p o;
  };
};
enum { a = b::e<0>::f };
template <typename> class au;
template <typename av> struct ac : ao<av> { typedef c::e<am::an> aq; };
template <typename aw, typename i, typename ax> void ay(aw, i, ax) {
  // Not sure if this has been creduced from an initialization of a
  // variable to a block-scope extern function decl
  au<c::e<ap<typename ak<i>::o>::f> > az2(); // { dg-warning "empty parentheses" }
}
void v() {
  ad a;
  void az1();
  ay(az1, a, v);
}