// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
// RUN: -Werror=unknown-attributes \
// RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-NOM
// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
// RUN: -Werror=unknown-attributes -mfunction-return=keep \
// RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-KEEP
// RUN: %clang_cc1 -triple x86_64-linux-gnu %s -emit-llvm -o - \
// RUN: -Werror=unknown-attributes -mfunction-return=thunk-extern \
// RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-EXTERN
int
int
int
;
int
// CHECK: @extern_c() [[EXTERN]]
extern "C" void
extern "C"
// CHECK-NOM-NOT: [[NOATTR]] = {{.*}}fn_ret_thunk_extern
// CHECK-KEEP-NOT: [[NOATTR]] = {{.*}}fn_ret_thunk_extern
// CHECK-KEEP-NOT: [[KEEP]] = {{.*}}fn_ret_thunk_extern
// CHECK-EXTERN: [[EXTERN]] = {{.*}}fn_ret_thunk_extern