[llvm] Do not replace dead constant references in metadata with undef
[llvm-project.git] / lld / test / ELF / mips-fp-flags-err.test
blob514f58aeb4f66ba04d931683f9333c4ce10b9bce
1 # REQUIRES: mips
3 # Check warning and errors in case of input
4 # files with incompatible floating point ABI flags.
6 # RUN: yaml2obj --docnum=1 %s -o %t-dbl.o
7 # RUN: yaml2obj --docnum=2 %s -o %t-sgl.o
8 # RUN: yaml2obj --docnum=3 %s -o %t-soft.o
9 # RUN: yaml2obj --docnum=4 %s -o %t-fp64.o
10 # RUN: yaml2obj --docnum=5 %s -o %t-fp64old.o
11 # RUN: yaml2obj --docnum=6 %s -o %t-fp64a.o
12 # RUN: yaml2obj --docnum=7 %s -o %t-fpxx.o
14 # RUN: not ld.lld %t-dbl.o %t-fp64.o -shared -o /dev/null 2>&1 \
15 # RUN:   | FileCheck -check-prefixes=DBLFP64 %s
17 # RUN: not ld.lld %t-sgl.o %t-fp64old.o -shared -o /dev/null 2>&1 \
18 # RUN:   | FileCheck -check-prefixes=SGLFP64OLD %s
20 # RUN: not ld.lld %t-soft.o %t-fp64a.o -shared -o /dev/null 2>&1 \
21 # RUN:   | FileCheck -check-prefixes=SOFTFP64A %s
23 # RUN: not ld.lld %t-sgl.o %t-fpxx.o -shared -o /dev/null 2>&1 \
24 # RUN:   | FileCheck -check-prefixes=SGLFPXX %s
26 # DBLFP64: {{.*}}fp64.o: floating point ABI '-mgp32 -mfp64' is incompatible with target floating point ABI '-mdouble-float'
27 # SGLFP64OLD: {{.*}}fp64old.o: floating point ABI '-mgp32 -mfp64 (old)' is incompatible with target floating point ABI '-msingle-float'
28 # SOFTFP64A: {{.*}}fp64a.o: floating point ABI '-mgp32 -mfp64  -mno-odd-spreg' is incompatible with target floating point ABI '-msoft-float'
29 # SGLFPXX: {{.*}}fpxx.o: floating point ABI '-mfpxx' is incompatible with target floating point ABI '-msingle-float'
31 # dbl.o
32 --- !ELF
33 FileHeader:
34   Class:    ELFCLASS64
35   Data:     ELFDATA2MSB
36   Type:     ET_REL
37   Machine:  EM_MIPS
38   Flags:    [ EF_MIPS_ARCH_64 ]
40 Sections:
41 - Name: .MIPS.abiflags
42   Type: SHT_MIPS_ABIFLAGS
43   ISA:          MIPS64
44   ASEs:         []
45   FpABI:        FP_DOUBLE
46   GPRSize:      REG_64
47   CPR1Size:     REG_64
48   CPR2Size:     REG_NONE
50 # sgl.o
51 --- !ELF
52 FileHeader:
53   Class:    ELFCLASS64
54   Data:     ELFDATA2MSB
55   Type:     ET_REL
56   Machine:  EM_MIPS
57   Flags:    [ EF_MIPS_ARCH_64 ]
59 Sections:
60 - Name: .MIPS.abiflags
61   Type: SHT_MIPS_ABIFLAGS
62   ISA:          MIPS64
63   ASEs:         []
64   FpABI:        FP_SINGLE
65   GPRSize:      REG_64
66   CPR1Size:     REG_64
67   CPR2Size:     REG_NONE
69 # soft.o
70 --- !ELF
71 FileHeader:
72   Class:    ELFCLASS64
73   Data:     ELFDATA2MSB
74   Type:     ET_REL
75   Machine:  EM_MIPS
76   Flags:    [ EF_MIPS_ARCH_64 ]
78 Sections:
79 - Name: .MIPS.abiflags
80   Type: SHT_MIPS_ABIFLAGS
81   ISA:          MIPS64
82   ASEs:         []
83   FpABI:        FP_SOFT
84   GPRSize:      REG_64
85   CPR1Size:     REG_64
86   CPR2Size:     REG_NONE
88 # fp64.o
89 --- !ELF
90 FileHeader:
91   Class:    ELFCLASS64
92   Data:     ELFDATA2MSB
93   Type:     ET_REL
94   Machine:  EM_MIPS
95   Flags:    [ EF_MIPS_ARCH_64 ]
97 Sections:
98 - Name: .MIPS.abiflags
99   Type: SHT_MIPS_ABIFLAGS
100   ISA:          MIPS64
101   ASEs:         []
102   FpABI:        FP_64
103   GPRSize:      REG_64
104   CPR1Size:     REG_64
105   CPR2Size:     REG_NONE
107 # fp64old.o
108 --- !ELF
109 FileHeader:
110   Class:    ELFCLASS64
111   Data:     ELFDATA2MSB
112   Type:     ET_REL
113   Machine:  EM_MIPS
114   Flags:    [ EF_MIPS_ARCH_64 ]
116 Sections:
117 - Name: .MIPS.abiflags
118   Type: SHT_MIPS_ABIFLAGS
119   ISA:          MIPS64
120   ASEs:         []
121   FpABI:        FP_OLD_64
122   GPRSize:      REG_64
123   CPR1Size:     REG_64
124   CPR2Size:     REG_NONE
126 # fp64a.o
127 --- !ELF
128 FileHeader:
129   Class:    ELFCLASS64
130   Data:     ELFDATA2MSB
131   Type:     ET_REL
132   Machine:  EM_MIPS
133   Flags:    [ EF_MIPS_ARCH_64 ]
135 Sections:
136 - Name: .MIPS.abiflags
137   Type: SHT_MIPS_ABIFLAGS
138   ISA:          MIPS64
139   ASEs:         []
140   FpABI:        FP_64A
141   GPRSize:      REG_64
142   CPR1Size:     REG_64
143   CPR2Size:     REG_NONE
145 # fpxx.o
146 --- !ELF
147 FileHeader:
148   Class:    ELFCLASS64
149   Data:     ELFDATA2MSB
150   Type:     ET_REL
151   Machine:  EM_MIPS
152   Flags:    [ EF_MIPS_ARCH_64 ]
154 Sections:
155 - Name: .MIPS.abiflags
156   Type: SHT_MIPS_ABIFLAGS
157   ISA:          MIPS64
158   ASEs:         []
159   FpABI:        FP_XX
160   GPRSize:      REG_64
161   CPR1Size:     REG_64
162   CPR2Size:     REG_NONE