// RUN: %swift -target armv7-apple-ios7.1 %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
