brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 1c3f364 Raw
62 lines · cpp
1// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s2 3// CHECK: @_ZTVZ1GvE1C = {{.*}} @_ZTIZ1GvE1C, {{.*}} @_ZZ1GvENK1C1FEv4// CHECK: @_ZTIZ1GvE1C = {{.*}} @_ZTSZ1GvE1C5// CHECK: @_ZTVZ1GvE1C_0 = {{.*}} @_ZTIZ1GvE1C_0, {{.*}} @_ZZ1GvENK1C1FE_0v6// CHECK: @_ZTIZ1GvE1C_0 = {{.*}} @_ZTSZ1GvE1C_07// CHECK: @_ZTVZ1GvE1C_1 = {{.*}} @_ZTIZ1GvE1C_1, {{.*}} @_ZZ1GvENK1C1FE_1v8// CHECK: @_ZTIZ1GvE1C_1 = {{.*}} @_ZTSZ1GvE1C_19// CHECK: @_ZTVZN1J1KEvE1C = {{.*}} @_ZTIZN1J1KEvE1C, {{.*}} @_ZZN1J1KEvENK1C1FEv10// CHECK: @_ZTIZN1J1KEvE1C = {{.*}} @_ZTSZN1J1KEvE1C11 12// CHECK: define {{.*}} @_ZZ1GvEN1CC2Ev(13// CHECK: define {{.*}} @_ZZ1GvENK1C1FEv(14// CHECK: define {{.*}} @_ZZ1GvEN1CC2E_0v(15// CHECK: define {{.*}} @_ZZ1GvENK1C1FE_0v(16// CHECK: define {{.*}} @_ZZ1GvENK1C1GE_0v(17// CHECK: define {{.*}} @_ZZ1GvEN1CC2E_1v(18// CHECK: define {{.*}} @_ZZ1GvENK1C1FE_1v(19// CHECK: define {{.*}} @_ZZ1GvENK1C1HE_1v(20// CHECK: define {{.*}} @_ZZN1J1KEvEN1CC2Ev(21// CHECK: define {{.*}} @_ZZN1J1KEvENK1C1FEv(22 23struct I { 24  virtual void F() const = 0;25};26 27void Go(const I &i);28 29void G() { 30  { 31    struct C : I { 32      void F() const {}33    };34    Go(C());35  }36  { 37    struct C : I { 38      void F() const { G(); }39      void G() const {}40    };41    Go(C());42  }43  { 44    struct C : I { 45      void F() const { H(); }46      void H() const {}47    };48    Go(C());49  }50}51 52struct J {53  void K();54};55 56void J::K() {57  struct C : I {58    void F() const {}59  };60  Go(C());61}62