// RUN: cir-opt %s --verify-roundtrip | FileCheck %s // Test the parsing and printing of a constructor that uses a vtable addess_point op. !u32i = !cir.int !u8i = !cir.int !rec_anon_struct = !cir.struct<{!cir.array x 4>}> !rec_S = !cir.struct<"S" {!cir.vptr}> module { cir.global "private" external @_ZTV1S : !rec_anon_struct {alignment = 8 : i64} cir.func @_ZN1SC2Ev(%arg0: !cir.ptr) { %0 = cir.alloca !cir.ptr, !cir.ptr>, ["this", init] {alignment = 8 : i64} cir.store %arg0, %0 : !cir.ptr, !cir.ptr> %1 = cir.load %0 : !cir.ptr>, !cir.ptr %2 = cir.vtable.address_point(@_ZTV1S, address_point = ) : !cir.vptr %3 = cir.cast bitcast %1 : !cir.ptr -> !cir.ptr cir.store align(8) %2, %3 : !cir.vptr, !cir.ptr cir.return } } // CHECK: cir.vtable.address_point(@_ZTV1S, address_point = ) : !cir.vptr