// RUN: %clang_cc1 -Werror -triple thumbv7-windows-itanium -mfloat-abi hard -emit-llvm %s -o - | FileCheck %s

__declspec(dllexport) int export_int;

__declspec(dllimport) int import_int;

__declspec(dllexport) void export_declared_function();

__declspec(dllexport) void export_implemented_function() {
}

__declspec(dllimport) void import_function(int);

void call_imported_function() {
  export_declared_function();
  return import_function(import_int);
}

// CHECK: @import_int = external dllimport global i32
// CHECK: @export_int = common dllexport global i32 0, align 4

// CHECK: define dllexport arm_aapcs_vfpcc void @export_implemented_function()

// CHECK: declare dllimport arm_aapcs_vfpcc void @import_function(i32)

