brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 2fd25df Raw
49 lines · plain
1// RUN: cir-opt %s --verify-roundtrip | FileCheck %s2 3!u8i = !cir.int<u, 8>4 5!rec_NeedsCtor = !cir.record<struct "NeedsCtor" padded {!u8i}>6!rec_NeedsDtor = !cir.record<struct "NeedsDtor" padded {!u8i}>7!rec_NeedsCtorDtor = !cir.record<struct "NeedsCtorDtor" padded {!u8i}>8 9module attributes {cir.triple = "x86_64-unknown-linux-gnu"} {10  cir.func private @_ZN9NeedsCtorC1Ev(!cir.ptr<!rec_NeedsCtor>)11  cir.global external @needsCtor = ctor : !rec_NeedsCtor {12    %0 = cir.get_global @needsCtor : !cir.ptr<!rec_NeedsCtor>13    cir.call @_ZN9NeedsCtorC1Ev(%0) : (!cir.ptr<!rec_NeedsCtor>) -> ()14  }15  // CHECK: cir.global external @needsCtor = ctor : !rec_NeedsCtor {16  // CHECK:   %0 = cir.get_global @needsCtor : !cir.ptr<!rec_NeedsCtor>17  // CHECK:   cir.call @_ZN9NeedsCtorC1Ev(%0) : (!cir.ptr<!rec_NeedsCtor>) -> ()18  // CHECK: }19 20  cir.func private @_ZN9NeedsDtorD1Ev(!cir.ptr<!rec_NeedsDtor>)21  cir.global external dso_local @needsDtor = #cir.zero : !rec_NeedsDtor dtor {22    %0 = cir.get_global @needsDtor : !cir.ptr<!rec_NeedsDtor>23    cir.call @_ZN9NeedsDtorD1Ev(%0) : (!cir.ptr<!rec_NeedsDtor>) -> ()24  }25  // CHECK: cir.global external dso_local @needsDtor = #cir.zero : !rec_NeedsDtor dtor {26  // CHECK:   %0 = cir.get_global @needsDtor : !cir.ptr<!rec_NeedsDtor>27  // CHECK:   cir.call @_ZN9NeedsDtorD1Ev(%0) : (!cir.ptr<!rec_NeedsDtor>) -> ()28  // CHECK: }29 30  cir.func private @_ZN13NeedsCtorDtorC1Ev(!cir.ptr<!rec_NeedsCtorDtor>)31  cir.func private @_ZN13NeedsCtorDtorD1Ev(!cir.ptr<!rec_NeedsCtorDtor>)32  cir.global external dso_local @needsCtorDtor = ctor : !rec_NeedsCtorDtor {33    %0 = cir.get_global @needsCtorDtor : !cir.ptr<!rec_NeedsCtorDtor>34    cir.call @_ZN13NeedsCtorDtorC1Ev(%0) : (!cir.ptr<!rec_NeedsCtorDtor>) -> ()35  } dtor {36    %0 = cir.get_global @needsCtorDtor : !cir.ptr<!rec_NeedsCtorDtor>37    cir.call @_ZN13NeedsCtorDtorD1Ev(%0) : (!cir.ptr<!rec_NeedsCtorDtor>) -> ()38  }39  // CHECK: cir.func private @_ZN13NeedsCtorDtorC1Ev(!cir.ptr<!rec_NeedsCtorDtor>)40  // CHECK: cir.func private @_ZN13NeedsCtorDtorD1Ev(!cir.ptr<!rec_NeedsCtorDtor>)41  // CHECK: cir.global external dso_local @needsCtorDtor = ctor : !rec_NeedsCtorDtor {42  // CHECK:   %0 = cir.get_global @needsCtorDtor : !cir.ptr<!rec_NeedsCtorDtor>43  // CHECK:   cir.call @_ZN13NeedsCtorDtorC1Ev(%0) : (!cir.ptr<!rec_NeedsCtorDtor>) -> ()44  // CHECK: } dtor {45  // CHECK:   %0 = cir.get_global @needsCtorDtor : !cir.ptr<!rec_NeedsCtorDtor>46  // CHECK:   cir.call @_ZN13NeedsCtorDtorD1Ev(%0) : (!cir.ptr<!rec_NeedsCtorDtor>) -> ()47  // CHECK: }48}49