44 lines · plain
1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s2 3; CHECK: define void @foo(ptr byval(i32) align 4 %0)4define void @foo(ptr byval(i32) align 4 %0) {5 ret void6}7 8; CHECK: define void @bar(ptr byval({ ptr, i8 }) align 4 %0)9define void @bar(ptr byval({ptr, i8}) align 4 %0) {10 ret void11}12 13define void @caller(ptr %ptr) personality ptr @__gxx_personality_v0 {14; CHECK: call void @bar(ptr byval({ ptr, i8 }) %ptr)15; CHECK: invoke void @bar(ptr byval({ ptr, i8 }) %ptr)16 call void @bar(ptr byval({ptr, i8}) %ptr)17 invoke void @bar(ptr byval({ptr, i8}) %ptr) to label %success unwind label %fail18 19success:20 ret void21 22fail:23 landingpad { ptr, i32 } cleanup24 ret void25}26 27; CHECK: declare void @baz(ptr byval([8 x i8]))28%named_type = type [8 x i8]29declare void @baz(ptr byval(%named_type))30 31declare i32 @__gxx_personality_v0(...)32 33%0 = type opaque34 35; CHECK: define void @anon(ptr byval({ ptr }) %arg)36; CHECK: call void @anon_callee(ptr byval({ ptr }) %arg)37define void @anon(ptr byval({ ptr }) %arg) {38 call void @anon_callee(ptr byval({ ptr }) %arg)39 ret void40}41 42; CHECK: declare void @anon_callee(ptr byval({ ptr }))43declare void @anon_callee(ptr byval({ ptr }))44