//===-- main.cpp ------------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include <stdio.h> #include <stdint.h> namespace a { class c { public: c(); ~c(); void func1() { puts (__PRETTY_FUNCTION__); } void func2() { puts (__PRETTY_FUNCTION__); } void func3() { puts (__PRETTY_FUNCTION__); } }; c::c() {} c::~c() {} } namespace b { class c { public: c(); ~c(); void func1() { puts (__PRETTY_FUNCTION__); } void func3() { puts (__PRETTY_FUNCTION__); } }; c::c() {} c::~c() {} } namespace c { class d { public: d () {} ~d() {} void func2() { puts (__PRETTY_FUNCTION__); } void func3() { puts (__PRETTY_FUNCTION__); } }; } int main (int argc, char const *argv[]) { a::c ac; b::c bc; c::d cd; ac.func1(); ac.func2(); ac.func3(); bc.func1(); bc.func3(); cd.func2(); cd.func3(); return 0; }