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