xref: /llvm-project/clang/test/CodeGen/ps4-dllimport-dllexport.c (revision 634c8ef69a836f3436d027b03965965bad6f3ff0)
1 // RUN: %clang_cc1 -triple x86_64-scei-ps4 -fdeclspec -Werror -emit-llvm %s -o - | FileCheck %s
2 // RUN: %clang_cc1 -triple x86_64-sie-ps5  -fdeclspec -Werror -emit-llvm %s -o - | FileCheck %s
3 
4 __declspec(dllexport) int export_int;
5 
6 __declspec(dllimport) int import_int;
7 
8 __declspec(dllexport) void export_declared_function(void);
9 
export_implemented_function(void)10 __declspec(dllexport) void export_implemented_function(void) {
11 }
12 
13 __declspec(dllimport) void import_function(int);
14 
call_imported_function(void)15 void call_imported_function(void) {
16   export_declared_function();
17   return import_function(import_int);
18 }
19 
20 // CHECK-DAG: @import_int = external dllimport
21 // CHECK-DAG: @export_int ={{.*}} dllexport global i32 0
22 // CHECK-DAG: define{{.*}} dllexport void @export_implemented_function()
23 // CHECK-DAG: declare dllimport void @import_function(i32 noundef)
24