| 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 |