1*67e74705SXin Li // RUN: %clang_cc1 -Werror -triple thumbv7-windows-itanium -mfloat-abi hard -fms-extensions -emit-llvm %s -o - | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li __declspec(dllexport) int export_int; 4*67e74705SXin Li 5*67e74705SXin Li __declspec(dllimport) int import_int; 6*67e74705SXin Li 7*67e74705SXin Li __declspec(dllexport) void export_declared_function(); 8*67e74705SXin Li export_implemented_function()9*67e74705SXin Li__declspec(dllexport) void export_implemented_function() { 10*67e74705SXin Li } 11*67e74705SXin Li 12*67e74705SXin Li __declspec(dllimport) void import_function(int); 13*67e74705SXin Li call_imported_function()14*67e74705SXin Livoid call_imported_function() { 15*67e74705SXin Li export_declared_function(); 16*67e74705SXin Li return import_function(import_int); 17*67e74705SXin Li } 18*67e74705SXin Li 19*67e74705SXin Li // CHECK: @import_int = external dllimport global i32 20*67e74705SXin Li // CHECK: @export_int = common dllexport global i32 0, align 4 21*67e74705SXin Li 22*67e74705SXin Li // CHECK: define dllexport arm_aapcs_vfpcc void @export_implemented_function() 23*67e74705SXin Li 24*67e74705SXin Li // CHECK: declare dllimport arm_aapcs_vfpcc void @import_function(i32) 25*67e74705SXin Li 26