1*99451b44SJordan Rupprecht //===-- main.cpp ------------------------------------------------*- C++ -*-===//
2*99451b44SJordan Rupprecht //
3*99451b44SJordan Rupprecht // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*99451b44SJordan Rupprecht // See https://llvm.org/LICENSE.txt for license information.
5*99451b44SJordan Rupprecht // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*99451b44SJordan Rupprecht //
7*99451b44SJordan Rupprecht //===----------------------------------------------------------------------===//
8*99451b44SJordan Rupprecht #include <stdio.h>
9*99451b44SJordan Rupprecht #include <stdint.h>
10*99451b44SJordan Rupprecht 
11*99451b44SJordan Rupprecht namespace a {
12*99451b44SJordan Rupprecht     class c {
13*99451b44SJordan Rupprecht     public:
14*99451b44SJordan Rupprecht         c();
15*99451b44SJordan Rupprecht         ~c();
16*99451b44SJordan Rupprecht         void func1()
17*99451b44SJordan Rupprecht         {
18*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
19*99451b44SJordan Rupprecht         }
20*99451b44SJordan Rupprecht         void func2()
21*99451b44SJordan Rupprecht         {
22*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
23*99451b44SJordan Rupprecht         }
24*99451b44SJordan Rupprecht         void func3()
25*99451b44SJordan Rupprecht         {
26*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
27*99451b44SJordan Rupprecht         }
28*99451b44SJordan Rupprecht     };
29*99451b44SJordan Rupprecht 
30*99451b44SJordan Rupprecht     c::c() {}
31*99451b44SJordan Rupprecht     c::~c() {}
32*99451b44SJordan Rupprecht }
33*99451b44SJordan Rupprecht 
34*99451b44SJordan Rupprecht namespace b {
35*99451b44SJordan Rupprecht     class c {
36*99451b44SJordan Rupprecht     public:
37*99451b44SJordan Rupprecht         c();
38*99451b44SJordan Rupprecht         ~c();
39*99451b44SJordan Rupprecht         void func1()
40*99451b44SJordan Rupprecht         {
41*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
42*99451b44SJordan Rupprecht         }
43*99451b44SJordan Rupprecht         void func3()
44*99451b44SJordan Rupprecht         {
45*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
46*99451b44SJordan Rupprecht         }
47*99451b44SJordan Rupprecht     };
48*99451b44SJordan Rupprecht 
49*99451b44SJordan Rupprecht     c::c() {}
50*99451b44SJordan Rupprecht     c::~c() {}
51*99451b44SJordan Rupprecht }
52*99451b44SJordan Rupprecht 
53*99451b44SJordan Rupprecht namespace c {
54*99451b44SJordan Rupprecht     class d {
55*99451b44SJordan Rupprecht     public:
56*99451b44SJordan Rupprecht         d () {}
57*99451b44SJordan Rupprecht         ~d() {}
58*99451b44SJordan Rupprecht         void func2()
59*99451b44SJordan Rupprecht         {
60*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
61*99451b44SJordan Rupprecht         }
62*99451b44SJordan Rupprecht         void func3()
63*99451b44SJordan Rupprecht         {
64*99451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
65*99451b44SJordan Rupprecht         }
66*99451b44SJordan Rupprecht     };
67*99451b44SJordan Rupprecht }
68*99451b44SJordan Rupprecht 
69*99451b44SJordan Rupprecht int main (int argc, char const *argv[])
70*99451b44SJordan Rupprecht {
71*99451b44SJordan Rupprecht     a::c ac;
72*99451b44SJordan Rupprecht     b::c bc;
73*99451b44SJordan Rupprecht     c::d cd;
74*99451b44SJordan Rupprecht     ac.func1();
75*99451b44SJordan Rupprecht     ac.func2();
76*99451b44SJordan Rupprecht     ac.func3();
77*99451b44SJordan Rupprecht     bc.func1();
78*99451b44SJordan Rupprecht     bc.func3();
79*99451b44SJordan Rupprecht     cd.func2();
80*99451b44SJordan Rupprecht     cd.func3();
81*99451b44SJordan Rupprecht     return 0;
82*99451b44SJordan Rupprecht }
83