// RUN: %swift -disable-legacy-type-info -target arm64-apple-ios7.1 %s -module-name main -emit-ir -o - | %FileCheck %s

// REQUIRES: CODEGENERATOR=AArch64

sil_stage canonical

sil @foo : $@convention(thin) () -> () {
bb0:
  // In a simple module-appending scheme where we emitted SIL
  // functions in order, this function reference would cause
  // @baz to be created immediately following @foo because we
  // won't yet have created the declaration for @bar.
  %0 = function_ref @baz : $@convention(thin) () -> ()
  %1 = apply %0() : $@convention(thin) () -> ()
  return %1 : $()
}

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

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

// Make sure that these functions are emitted in the order they
// CHECK: define{{( protected)?}} swiftcc void @foo
// CHECK: define{{( protected)?}} swiftcc void @bar
// CHECK: define{{( protected)?}} swiftcc void @baz
