OLD | NEW |
1 ; Tests the Subzero "name mangling" when using the "llvm2ice --prefix" | 1 ; Tests the Subzero "name mangling" when using the "llvm2ice --prefix" |
2 ; option. Also does a quick smoke test of -ffunction-sections. | 2 ; option. Also does a quick smoke test of -ffunction-sections. |
3 | 3 |
4 ; RUN: %p2i -i %s --args --verbose none -ffunction-sections | FileCheck %s | 4 ; RUN: %p2i -i %s --args --verbose none -ffunction-sections | FileCheck %s |
5 ; TODO(stichnot): The following line causes this test to fail. | 5 ; TODO(stichnot): The following line causes this test to fail. |
6 ; RUIN: %p2i -i %s --args --verbose none \ | 6 ; RUIN: %p2i -i %s --args --verbose none \ |
7 ; RUIN: | llvm-mc -triple=i686-none-nacl -filetype=obj | 7 ; RUIN: | llvm-mc -triple=i686-none-nacl -filetype=obj |
8 ; RUN: %p2i -i %s --args --verbose none --prefix Subzero -ffunction-sections \ | 8 ; RUN: %p2i -i %s --args --verbose none --prefix Subzero -ffunction-sections \ |
9 ; RUN: | FileCheck --check-prefix=MANGLE %s | 9 ; RUN: | FileCheck --check-prefix=MANGLE %s |
10 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
11 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s | |
12 | 10 |
13 define internal void @FuncC(i32 %i) { | 11 define internal void @FuncC(i32 %i) { |
14 entry: | 12 entry: |
15 ret void | 13 ret void |
16 } | 14 } |
17 ; FuncC is a C symbol that isn't recognized as a C++ mangled symbol. | 15 ; FuncC is a C symbol that isn't recognized as a C++ mangled symbol. |
18 ; CHECK-LABEL: .text.FuncC | 16 ; CHECK-LABEL: .text.FuncC |
19 ; CHECK: FuncC: | 17 ; CHECK: FuncC: |
20 ; MANGLE-LABEL: .text.SubzeroFuncC | 18 ; MANGLE-LABEL: .text.SubzeroFuncC |
21 ; MANGLE: SubzeroFuncC: | 19 ; MANGLE: SubzeroFuncC: |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 ret void | 135 ret void |
138 } | 136 } |
139 | 137 |
140 ; Test that unmangled (non-C++) strings don't have substitutions updated. | 138 ; Test that unmangled (non-C++) strings don't have substitutions updated. |
141 define internal void @foo_S_S0_SZ_S() { | 139 define internal void @foo_S_S0_SZ_S() { |
142 ; MANGLE-LABEL: .text.Subzerofoo_S_S0_SZ_S | 140 ; MANGLE-LABEL: .text.Subzerofoo_S_S0_SZ_S |
143 ; MANGLE: Subzerofoo_S_S0_SZ_S: | 141 ; MANGLE: Subzerofoo_S_S0_SZ_S: |
144 entry: | 142 entry: |
145 ret void | 143 ret void |
146 } | 144 } |
147 | |
148 ; ERRORS-NOT: ICE translation error | |
149 ; DUMP-NOT: SZ | |
OLD | NEW |