// RUN: %target-swift-frontend -emit-ir %s -module-name Test | %FileCheck %s import Builtin struct X { init() var x : Builtin.Int32 } // Make sure we can irgen a SIL function with various parameter attributes // without choking. This is just a basic reality check. // CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @foo(ptr noalias sret({{.*}}) captures(none) %0, ptr noalias captures(none) dereferenceable({{.*}}) %1, ptr captures(none) dereferenceable({{.*}}) %2, ptr noalias captures(none) dereferenceable({{.*}}) %3, i32 %4, i32 %5, i32 %6) {{.*}} { sil @foo : $@convention(thin) (@in X, @inout X, @in_guaranteed X, @owned X, X, @guaranteed X) -> @out X { bb0(%0 : $*X, %1 : $*X, %2 : $*X, %3 : $*X, %4 : $X, %5 : $X, %6 : $X): %9999 = tuple() return %9999 : $() }