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