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

// REQUIRES: CODEGENERATOR=ARM

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
