File tree Expand file tree Collapse file tree 3 files changed +77
-3
lines changed Expand file tree Collapse file tree 3 files changed +77
-3
lines changed Original file line number Diff line number Diff line change @@ -153,9 +153,9 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
153
153
OptimizationGoals = 0 ;
154
154
155
155
if (Subtarget->isTargetCOFF ()) {
156
- bool Internal = F.hasInternalLinkage ();
157
- COFF::SymbolStorageClass Scl = Internal ? COFF::IMAGE_SYM_CLASS_STATIC
158
- : COFF::IMAGE_SYM_CLASS_EXTERNAL;
156
+ bool Local = F.hasLocalLinkage ();
157
+ COFF::SymbolStorageClass Scl =
158
+ Local ? COFF::IMAGE_SYM_CLASS_STATIC : COFF::IMAGE_SYM_CLASS_EXTERNAL;
159
159
int Type = COFF::IMAGE_SYM_DTYPE_FUNCTION << COFF::SCT_COMPLEX_TYPE_SHIFT;
160
160
161
161
OutStreamer->beginCOFFSymbolDef (CurrentFnSym);
Original file line number Diff line number Diff line change
1
+ ; RUN: llc -mtriple thumbv7-windows -filetype asm -o - %s | FileCheck %s
2
+
3
+ define dso_local void @func1 () {
4
+ entry:
5
+ call void @func2 ()
6
+ ret void
7
+ }
8
+
9
+ define private void @func2 () {
10
+ entry:
11
+ ret void
12
+ }
13
+
14
+ ; CHECK: .def .Lfunc2;
15
+ ; CHECK-NEXT: .scl 3;
16
+ ; CHECK-NEXT: .type 32;
17
+ ; CHECK-NEXT: .endef
Original file line number Diff line number Diff line change
1
+ // RUN: llvm-mc -triple thumbv7-windows-gnu -filetype obj %s -o - | llvm-objdump -D -r - | FileCheck %s
2
+
3
+ .text
4
+ main:
5
+ nop
6
+ b .Ltarget
7
+ b .Lother_target
8
+
9
+ // A private label target in the same section
10
+ .def .Ltarget
11
+ .scl 3
12
+ .type 32
13
+ .endef
14
+ .p2align 2
15
+ .Ltarget:
16
+ bx lr
17
+
18
+ // A private label target in another section
19
+ .section "other" , "xr"
20
+ nop
21
+ nop
22
+ nop
23
+ nop
24
+ nop
25
+ nop
26
+ nop
27
+ nop
28
+ .def .Lother_target
29
+ .scl 3
30
+ .type 32
31
+ .endef
32
+ .p2align 2
33
+ .Lother_target:
34
+ bx lr
35
+
36
+ // Check that both branches have a relocation with a zero offset.
37
+ //
38
+ // CHECK: 00000000 <main>:
39
+ // CHECK: 0: bf00 nop
40
+ // CHECK: 2: f000 b800 b.w 0x6 <main+0x6> @ imm = #0x0
41
+ // CHECK: 00000002: IMAGE_REL_ARM_BRANCH24T .Ltarget
42
+ // CHECK: 6: f000 b800 b.w 0xa <main+0xa> @ imm = #0x0
43
+ // CHECK: 00000006: IMAGE_REL_ARM_BRANCH24T .Lother_target
44
+ // CHECK: a: bf00 nop
45
+ // CHECK: 0000000c <.Ltarget>:
46
+ // CHECK: c: 4770 bx lr
47
+ // CHECK: 00000000 <other>:
48
+ // CHECK: 0: bf00 nop
49
+ // CHECK: 2: bf00 nop
50
+ // CHECK: 4: bf00 nop
51
+ // CHECK: 6: bf00 nop
52
+ // CHECK: 8: bf00 nop
53
+ // CHECK: a: bf00 nop
54
+ // CHECK: c: bf00 nop
55
+ // CHECK: e: bf00 nop
56
+ // CHECK: 00000010 <.Lother_target>:
57
+ // CHECK: 10: 4770 bx lr
You can’t perform that action at this time.
0 commit comments