1 ;; Check that an error is emitted for local linkage symbols with DLL storage class.
3 ; RUN: rm -rf %t && split-file %s %t
5 ; RUN: not llvm-as %t/internal_function_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
6 ; RUN: not llvm-as %t/internal_variable_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
7 ; RUN: not llvm-as %t/internal_alias_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
9 ; RUN: not llvm-as %t/private_function_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
10 ; RUN: not llvm-as %t/private_variable_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
11 ; RUN: not llvm-as %t/private_alias_dllexport.ll -o /dev/null 2>&1 | FileCheck %s
13 ; RUN: not llvm-as %t/internal_function_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
14 ; RUN: not llvm-as %t/internal_variable_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
15 ; RUN: not llvm-as %t/internal_alias_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
17 ; RUN: not llvm-as %t/private_function_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
18 ; RUN: not llvm-as %t/private_variable_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
19 ; RUN: not llvm-as %t/private_alias_dllimport.ll -o /dev/null 2>&1 | FileCheck %s
22 ; CHECK: symbol with local linkage cannot have a DLL storage class
25 ;--- internal_function_dllexport.ll
27 define internal dllexport void @function() {
32 ;--- internal_variable_dllexport.ll
34 @var = internal dllexport global i32 0
36 ;--- internal_alias_dllexport.ll
38 @global = global i32 0
39 @alias = internal dllexport alias i32, ptr @global
41 ;--- private_function_dllexport.ll
43 define private dllexport void @function() {
48 ;--- private_variable_dllexport.ll
50 @var = private dllexport global i32 0
52 ;--- private_alias_dllexport.ll
54 @global = global i32 0
55 @alias = private dllexport alias i32, ptr @global
58 ;--- internal_function_dllimport.ll
60 define internal dllimport void @function() {
65 ;--- internal_variable_dllimport.ll
67 @var = internal dllimport global i32 0
69 ;--- internal_alias_dllimport.ll
71 @global = global i32 0
72 @alias = internal dllimport alias i32, ptr @global
74 ;--- private_function_dllimport.ll
76 define private dllimport void @function() {
81 ;--- private_variable_dllimport.ll
83 @var = private dllimport global i32 0
85 ;--- private_alias_dllimport.ll
87 @global = global i32 0
88 @alias = private dllimport alias i32, ptr @global