brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 947103f Raw
42 lines · cpp
1// RUN: %clang_cc1 -triple powerpc-ibm-aix %s -mdefault-visibility-export-mapping=none -mconstructor-aliases -emit-llvm -o - | \2// RUN:   FileCheck -check-prefixes=UNSPECIFIED-DEF,EXPLICIT-DEF %s3// RUN: %clang_cc1 -triple powerpc-ibm-aix %s -mdefault-visibility-export-mapping=explicit -mconstructor-aliases -emit-llvm -o - | \4// RUN:   FileCheck -check-prefixes=UNSPECIFIED-DEF,EXPLICIT-EXP %s5// RUN: %clang_cc1 -triple powerpc-ibm-aix %s -mdefault-visibility-export-mapping=all -mconstructor-aliases -emit-llvm -o - | \6// RUN:   FileCheck -check-prefixes=UNSPECIFIED-EXP,EXPLICIT-EXP %s7 8class A {9public:10  ~A();11};12 13A::~A() {}14 15class __attribute__((visibility("default"))) B {16public:17  ~B();18};19 20B::~B() {}21 22void func() {23  A x;24  B y;25}26 27// A::~A() (complete object destructor)28// UNSPECIFIED-DEF:  @_ZN1AD1Ev = unnamed_addr alias29// UNSPECIFIED-EXP:  @_ZN1AD1Ev = dllexport unnamed_addr alias30 31// B::~B() (complete object destructor)32// EXPLICIT-DEF:  @_ZN1BD1Ev = unnamed_addr alias33// EXPLICIT-EXP:  @_ZN1BD1Ev = dllexport unnamed_addr alias34 35// A::~A() (base object destructor)36// UNSPECIFIED-DEF:  define void @_ZN1AD2Ev(37// UNSPECIFIED-EXP:  define dllexport void @_ZN1AD2Ev(38 39// B::~B() (base object destructor)40// EXPLICIT-DEF:  define void @_ZN1BD2Ev(41// EXPLICIT-EXP:  define dllexport void @_ZN1BD2Ev(42