OLD | NEW |
1 ; Currently we do not define __{init,fini}_array_end as named aliases. | 1 ; Currently we do not define __{init,fini}_array_end as named aliases. |
2 ; RUN: opt < %s -nacl-expand-ctors -S | not grep __init_array_end | 2 ; RUN: opt < %s -nacl-expand-ctors -S | FileCheck %s -check-prefix=NO_CTORS |
3 ; RUN: opt < %s -nacl-expand-ctors -S | not grep __fini_array_end | 3 ; NO_CTORS-NOT: __init_array_end |
| 4 ; NO_CTORS-NOT: __fini_array_end |
4 | 5 |
5 ; We expect this symbol to be removed: | 6 ; We expect this symbol to be removed: |
6 ; RUN: opt < %s -nacl-expand-ctors -S | not grep llvm.global_ctors | 7 ; RUN: opt < %s -nacl-expand-ctors -S | not grep llvm.global_ctors |
7 | 8 |
8 ; RUN: opt < %s -nacl-expand-ctors -S | FileCheck %s | 9 ; RUN: opt < %s -nacl-expand-ctors -S | FileCheck %s |
9 | 10 |
10 ; If llvm.global_ctors is zeroinitializer, it should be treated the | 11 ; If llvm.global_ctors is zeroinitializer, it should be treated the |
11 ; same as an empty array. | 12 ; same as an empty array. |
12 | 13 |
13 @llvm.global_ctors = appending global [0 x { i32, void ()* }] zeroinitializer | 14 @llvm.global_ctors = appending global [0 x { i32, void ()* }] zeroinitializer |
14 | 15 |
15 ; CHECK: @__init_array_start = internal constant [0 x void ()*] zeroinitializer | 16 ; CHECK: @__init_array_start = internal constant [0 x void ()*] zeroinitializer |
16 ; CHECK: @__fini_array_start = internal constant [0 x void ()*] zeroinitializer | 17 ; CHECK: @__fini_array_start = internal constant [0 x void ()*] zeroinitializer |
OLD | NEW |