Home | History | Annotate | Download | only in Windows
      1 ; RUN: llc -mtriple thumbv7--windows-itanium -filetype asm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-GNU
      2 ; RUN: llc -mtriple thumbv7--windows-gnu -filetype asm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-GNU
      3 ; RUN: llc -mtriple thumbv7--windows-msvc -filetype asm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-MSVC
      4 
      5 define void @f() {
      6   ret void
      7 }
      8 
      9 define dllexport void @g() {
     10   ret void
     11 }
     12 
     13 define dllexport void @h() unnamed_addr {
     14   ret void
     15 }
     16 
     17 declare dllexport void @i()
     18 
     19 define linkonce_odr dllexport void @j() {
     20   ret void
     21 }
     22 
     23 define linkonce_odr dllexport void @k() alwaysinline {
     24   ret void
     25 }
     26 
     27 define weak_odr dllexport void @l() {
     28   ret void
     29 }
     30 
     31 @m = dllexport global i32 0, align 4
     32 @n = dllexport unnamed_addr constant i32 0
     33 @o = common dllexport global i32 0, align 4
     34 @p = weak_odr dllexport global i32 0, align 4
     35 @q = weak_odr dllexport unnamed_addr constant i32 0
     36 
     37 @r = dllexport alias void (), void () * @f
     38 @s = dllexport alias void (), void () * @g
     39 @t = dllexport alias void (), void () * @f
     40 @u = weak_odr dllexport alias void (), void () * @g
     41 
     42 ; CHECK: .section .drectve
     43 ; CHECK-GNU-NOT: -export:f
     44 ; CHECK-GNU: -export:g
     45 ; CHECK-GNU-SAME: -export:h
     46 ; CHECK-GNU-NOT: -export:i
     47 ; CHECK-GNU-SAME: -export:j
     48 ; CHECK-GNU-SAME: -export:k
     49 ; CHECK-GNU-SAME: -export:l
     50 ; CHECK-GNU-SAME: -export:m,data
     51 ; CHECK-GNU-SAME: -export:n,data
     52 ; CHECK-GNU-SAME: -export:o,data
     53 ; CHECK-GNU-SAME: -export:p,data
     54 ; CHECK-GNU-SAME: -export:q,data
     55 ; CHECK-GNU-SAME: -export:r
     56 ; CHECK-GNU-SAME: -export:s
     57 ; CHECK-GNU-SAME: -export:t
     58 ; CHECK-GNU-SAME: -export:u
     59 ; CHECK-MSVC-NOT: /EXPORT:f
     60 ; CHECK-MSVC: /EXPORT:g
     61 ; CHECK-MSVC-SAME: /EXPORT:h
     62 ; CHECK-MSVC-NOT: /EXPORT:i
     63 ; CHECK-MSVC-SAME: /EXPORT:j
     64 ; CHECK-MSVC-SAME: /EXPORT:k
     65 ; CHECK-MSVC-SAME: /EXPORT:l
     66 ; CHECK-MSVC-SAME: /EXPORT:m,DATA
     67 ; CHECK-MSVC-SAME: /EXPORT:n,DATA
     68 ; CHECK-MSVC-SAME: /EXPORT:o,DATA
     69 ; CHECK-MSVC-SAME: /EXPORT:p,DATA
     70 ; CHECK-MSVC-SAME: /EXPORT:q,DATA
     71 ; CHECK-MSVC-SAME: /EXPORT:r
     72 ; CHECK-MSVC-SAME: /EXPORT:s
     73 ; CHECK-MSVC-SAME: /EXPORT:t
     74 ; CHECK-MSVC-SAME: /EXPORT:u
     75 
     76