// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -Xllvm -sil-disable-pass="External Defs To Decls" -emit-ir %s | %FileCheck %s

sil_stage canonical

// CHECK: define{{( protected)?}} swiftcc void @public_fragile_function_test() {{.*}} {
// CHECK: define{{( protected)?}} internal swiftcc void @public_transparent_fragile_function_test() {{.*}} {
// CHECK: define{{( protected)?}} swiftcc void @public_transparent_function_test() {{.*}} {
// CHECK: define{{( protected)?}} swiftcc void @hidden_fragile_function_test() {{.*}} {
// CHECK: define linkonce_odr hidden swiftcc void @shared_fragile_function_test() {{.*}} {
// CHECK: define{{( protected)?}} swiftcc void @private_fragile_function_test() {{.*}} {
// CHECK: define linkonce_odr hidden swiftcc void @public_external_fragile_function_def_test() {{.*}} {
// CHECK: define{{( protected)?}} available_externally swiftcc void @hidden_external_fragile_function_def_test() {{.*}} {
// CHECK: define linkonce_odr hidden swiftcc void @shared_external_fragile_function_def_test() {{.*}} {
// CHECK: define{{( protected)?}} available_externally swiftcc void @private_external_fragile_function_def_test() {{.*}} {
// CHECK: define{{( protected)?}} swiftcc void @public_resilient_function_test() {{.*}} {
// CHECK: define hidden swiftcc void @hidden_resilient_function_test() {{.*}} {
// CHECK: define linkonce_odr hidden swiftcc void @shared_resilient_function_test() {{.*}} {
// CHECK: define internal swiftcc void @private_resilient_function_test() {{.*}}{
// CHECK: define linkonce_odr hidden swiftcc void @public_external_resilient_function_def_test() {{.*}} {
// CHECK: define{{( protected)?}} available_externally hidden swiftcc void @hidden_external_resilient_function_def_test() {{.*}} {
// CHECK: define linkonce_odr hidden swiftcc void @shared_external_resilient_function_def_test() {{.*}} {

sil public [serialized] @public_fragile_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil public [transparent] [serialized] @public_transparent_fragile_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil public [transparent] @public_transparent_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil hidden [serialized] @hidden_fragile_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil shared [serialized] @shared_fragile_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil private [serialized] @private_fragile_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil public_external [serialized] @public_external_fragile_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil hidden_external [serialized] @hidden_external_fragile_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil shared_external [serialized] @shared_external_fragile_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil private_external [serialized] @private_external_fragile_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil public_external [serialized] @public_external_fragile_function_decl_test : $@convention(thin) () -> ()

sil hidden_external [serialized] @hidden_external_fragile_function_decl_test : $@convention(thin) () -> ()

// 'shared' should always be a definition.
// sil shared_external [serialized] @shared_external_fragile_function_decl_test : $@convention(thin) () -> ()

// 'private' should always be a definition.
// sil private_external [serialized] @private_external_fragile_function_decl_test : $@convention(thin) () -> ()

sil public @public_resilient_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil hidden @hidden_resilient_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil shared @shared_resilient_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil private @private_resilient_function_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil public_external @public_external_resilient_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil hidden_external @hidden_external_resilient_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

sil shared_external @shared_external_resilient_function_def_test : $@convention(thin) () -> () {
  %0 = tuple()
  return %0 : $()
}

// 'private_external' should always be fragile.
// sil private_external @private_external_resilient_function_def_test : $@convention(thin) () -> () {
//   %0 = tuple()
//   return %0 : $()
// }

sil public_external @public_external_resilient_function_decl_test : $@convention(thin) () -> ()

sil hidden_external @hidden_external_resilient_function_decl_test : $@convention(thin) () -> ()

// 'shared' should always be a definition.
// sil shared_external @shared_external_resilient_function_decl_test : $@convention(thin) () -> ()

// 'private' should always be a definition.
// sil private_external @private_external_resilient_function_decl_test : $@convention(thin) () -> ()


sil public @use_all_symbols : $@convention(thin) () -> () {
  %0 = function_ref @public_fragile_function_test : $@convention(thin) () -> ()
  %t0 = function_ref @public_transparent_fragile_function_test : $@convention(thin) () -> ()
  %t1 = function_ref @public_transparent_function_test : $@convention(thin) () -> ()
  %1 = function_ref @hidden_fragile_function_test : $@convention(thin) () -> ()
  %2 = function_ref @shared_fragile_function_test : $@convention(thin) () -> ()
  %3 = function_ref @private_fragile_function_test : $@convention(thin) () -> ()
  %4 = function_ref @public_external_fragile_function_def_test : $@convention(thin) () -> ()
  %5 = function_ref @hidden_external_fragile_function_def_test : $@convention(thin) () -> ()
  %6 = function_ref @shared_external_fragile_function_def_test : $@convention(thin) () -> ()
  %7 = function_ref @private_external_fragile_function_def_test : $@convention(thin) () -> ()
  %8 = function_ref @public_external_fragile_function_decl_test : $@convention(thin) () -> ()
  %9 = function_ref @hidden_external_fragile_function_decl_test : $@convention(thin) () -> ()
  // %10 = function_ref @shared_external_fragile_function_decl_test : $@convention(thin) () -> ()
  // %11 = function_ref @private_external_fragile_function_decl_test : $@convention(thin) () -> ()
  %12 = function_ref @public_resilient_function_test : $@convention(thin) () -> ()
  %13 = function_ref @hidden_resilient_function_test : $@convention(thin) () -> ()
  %14 = function_ref @shared_resilient_function_test : $@convention(thin) () -> ()
  %15 = function_ref @private_resilient_function_test : $@convention(thin) () -> ()
  %16 = function_ref @public_external_resilient_function_def_test : $@convention(thin) () -> ()
  %17 = function_ref @hidden_external_resilient_function_def_test : $@convention(thin) () -> ()
  %18 = function_ref @shared_external_resilient_function_def_test : $@convention(thin) () -> ()
  // %19 = function_ref @private_external_resilient_function_def_test : $@convention(thin) () -> ()
  %20 = function_ref @public_external_resilient_function_decl_test : $@convention(thin) () -> ()
  %21 = function_ref @hidden_external_resilient_function_decl_test : $@convention(thin) () -> ()
  // %22 = function_ref @shared_external_resilient_function_decl_test : $@convention(thin) () -> ()
  // %23 = function_ref @private_external_resilient_function_decl_test : $@convention(thin) () -> ()

  apply %0() : $@convention(thin) () -> ()
  apply %1() : $@convention(thin) () -> ()
  apply %2() : $@convention(thin) () -> ()
  apply %3() : $@convention(thin) () -> ()
  apply %4() : $@convention(thin) () -> ()
  apply %5() : $@convention(thin) () -> ()
  apply %6() : $@convention(thin) () -> ()
  apply %7() : $@convention(thin) () -> ()
  apply %8() : $@convention(thin) () -> ()
  apply %9() : $@convention(thin) () -> ()
  // apply %10() : $@convention(thin) () -> ()
  // apply %11() : $@convention(thin) () -> ()
  apply %12() : $@convention(thin) () -> ()
  apply %13() : $@convention(thin) () -> ()
  apply %14() : $@convention(thin) () -> ()
  apply %15() : $@convention(thin) () -> ()
  apply %16() : $@convention(thin) () -> ()
  apply %17() : $@convention(thin) () -> ()
  apply %18() : $@convention(thin) () -> ()
  // apply %19() : $@convention(thin) () -> ()
  apply %20() : $@convention(thin) () -> ()
  apply %21() : $@convention(thin) () -> ()
  // apply %22() : $@convention(thin) () -> ()
  // apply %23() : $@convention(thin) () -> ()
  %24 = tuple()
  return %24 : $()
}

