// RUN: cir-opt %s --verify-roundtrip | FileCheck %s !rec_Q = !cir.struct<"Q" {!cir.vptr}> !rec_S = !cir.struct<"S" {!cir.vptr}> !rec_S2 = !cir.struct<"S2" {!rec_Q, !rec_S}> !u8i = !cir.int !rec_anon_struct = !cir.struct<{!cir.array x 4>}> !rec_anon_struct1 = !cir.struct<{!cir.array x 4>, !cir.array x 3>}> module { cir.global external @_ZTV1S = #cir.vtable<{#cir.const_array<[#cir.ptr : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN1S3keyEv> : !cir.ptr, #cir.global_view<@_ZN1S6nonKeyEv> : !cir.ptr]> : !cir.array x 4>}> : !rec_anon_struct {alignment = 8 : i64} // CHECK: cir.global external @_ZTV1S = #cir.vtable<{#cir.const_array<[#cir.ptr : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN1S3keyEv> : !cir.ptr, #cir.global_view<@_ZN1S6nonKeyEv> : !cir.ptr]> : !cir.array x 4>}> : !rec_anon_struct {alignment = 8 : i64} cir.global external @_ZTV2S2 = #cir.vtable<{#cir.const_array<[#cir.ptr : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN1S3keyEv> : !cir.ptr, #cir.global_view<@_ZN1S6nonKeyEv> : !cir.ptr]> : !cir.array x 4>, #cir.const_array<[#cir.ptr<-8 : i64> : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN2S23keyEv> : !cir.ptr]> : !cir.array x 3>}> : !rec_anon_struct1 {alignment = 8 : i64} // CHECK: cir.global external @_ZTV2S2 = #cir.vtable<{#cir.const_array<[#cir.ptr : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN1S3keyEv> : !cir.ptr, #cir.global_view<@_ZN1S6nonKeyEv> : !cir.ptr]> : !cir.array x 4>, #cir.const_array<[#cir.ptr<-8 : i64> : !cir.ptr, #cir.ptr : !cir.ptr, #cir.global_view<@_ZN2S23keyEv> : !cir.ptr]> : !cir.array x 3>}> : !rec_anon_struct1 {alignment = 8 : i64} cir.func private dso_local @_ZN1S3keyEv(%arg0: !cir.ptr) cir.func private dso_local @_ZN1S6nonKeyEv(%arg0: !cir.ptr) cir.func private dso_local @_ZN2S23keyEv(%arg0: !cir.ptr) }