xref: /aosp_15_r20/external/clang/test/CodeGen/windows-on-arm-dllimport-dllexport.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
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 Li void 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