199451b44SJordan Rupprecht #include <stdio.h>
299451b44SJordan Rupprecht #include <stdint.h>
399451b44SJordan Rupprecht 
499451b44SJordan Rupprecht namespace a {
599451b44SJordan Rupprecht     class c {
699451b44SJordan Rupprecht     public:
799451b44SJordan Rupprecht         c();
899451b44SJordan Rupprecht         ~c();
func1()999451b44SJordan Rupprecht         void func1()
1099451b44SJordan Rupprecht         {
1199451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
1299451b44SJordan Rupprecht         }
func2()1399451b44SJordan Rupprecht         void func2()
1499451b44SJordan Rupprecht         {
1599451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
1699451b44SJordan Rupprecht         }
func3()1799451b44SJordan Rupprecht         void func3()
1899451b44SJordan Rupprecht         {
1999451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
2099451b44SJordan Rupprecht         }
2199451b44SJordan Rupprecht     };
2299451b44SJordan Rupprecht 
c()2399451b44SJordan Rupprecht     c::c() {}
~c()2499451b44SJordan Rupprecht     c::~c() {}
2599451b44SJordan Rupprecht }
2699451b44SJordan Rupprecht 
27*3339000eSJim Ingham namespace aa {
28*3339000eSJim Ingham     class cc {
29*3339000eSJim Ingham     public:
30*3339000eSJim Ingham         cc();
31*3339000eSJim Ingham         ~cc();
func1()32*3339000eSJim Ingham         void func1()
33*3339000eSJim Ingham         {
34*3339000eSJim Ingham             puts (__PRETTY_FUNCTION__);
35*3339000eSJim Ingham         }
func2()36*3339000eSJim Ingham         void func2()
37*3339000eSJim Ingham         {
38*3339000eSJim Ingham             puts (__PRETTY_FUNCTION__);
39*3339000eSJim Ingham         }
func3()40*3339000eSJim Ingham         void func3()
41*3339000eSJim Ingham         {
42*3339000eSJim Ingham             puts (__PRETTY_FUNCTION__);
43*3339000eSJim Ingham         }
44*3339000eSJim Ingham     };
45*3339000eSJim Ingham 
cc()46*3339000eSJim Ingham     cc::cc() {}
~cc()47*3339000eSJim Ingham     cc::~cc() {}
48*3339000eSJim Ingham }
49*3339000eSJim Ingham 
5099451b44SJordan Rupprecht namespace b {
5199451b44SJordan Rupprecht     class c {
5299451b44SJordan Rupprecht     public:
5399451b44SJordan Rupprecht         c();
5499451b44SJordan Rupprecht         ~c();
func1()5599451b44SJordan Rupprecht         void func1()
5699451b44SJordan Rupprecht         {
5799451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
5899451b44SJordan Rupprecht         }
func3()5999451b44SJordan Rupprecht         void func3()
6099451b44SJordan Rupprecht         {
6199451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
6299451b44SJordan Rupprecht         }
6399451b44SJordan Rupprecht     };
6499451b44SJordan Rupprecht 
c()6599451b44SJordan Rupprecht     c::c() {}
~c()6699451b44SJordan Rupprecht     c::~c() {}
6799451b44SJordan Rupprecht }
6899451b44SJordan Rupprecht 
6999451b44SJordan Rupprecht namespace c {
7099451b44SJordan Rupprecht     class d {
7199451b44SJordan Rupprecht     public:
d()7299451b44SJordan Rupprecht         d () {}
~d()7399451b44SJordan Rupprecht         ~d() {}
func2()7499451b44SJordan Rupprecht         void func2()
7599451b44SJordan Rupprecht         {
7699451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
7799451b44SJordan Rupprecht         }
func3()7899451b44SJordan Rupprecht         void func3()
7999451b44SJordan Rupprecht         {
8099451b44SJordan Rupprecht             puts (__PRETTY_FUNCTION__);
8199451b44SJordan Rupprecht         }
8299451b44SJordan Rupprecht     };
8399451b44SJordan Rupprecht }
8499451b44SJordan Rupprecht 
main(int argc,char const * argv[])8599451b44SJordan Rupprecht int main (int argc, char const *argv[])
8699451b44SJordan Rupprecht {
8799451b44SJordan Rupprecht     a::c ac;
88*3339000eSJim Ingham     aa::cc aac;
8999451b44SJordan Rupprecht     b::c bc;
9099451b44SJordan Rupprecht     c::d cd;
9199451b44SJordan Rupprecht     ac.func1();
9299451b44SJordan Rupprecht     ac.func2();
9399451b44SJordan Rupprecht     ac.func3();
94*3339000eSJim Ingham     aac.func1();
95*3339000eSJim Ingham     aac.func2();
96*3339000eSJim Ingham     aac.func3();
9799451b44SJordan Rupprecht     bc.func1();
9899451b44SJordan Rupprecht     bc.func3();
9999451b44SJordan Rupprecht     cd.func2();
10099451b44SJordan Rupprecht     cd.func3();
10199451b44SJordan Rupprecht     return 0;
10299451b44SJordan Rupprecht }
103