1 /*
2  *
3  * AUTO-GENERATED BY ./update
4  * DO NOT MODIFY
5  *
6  * cargo run --manifest-path update/Cargo.toml
7  */
8 
9 #![allow(non_upper_case_globals, non_camel_case_types)]
10 
11 use super::*;
12 
13 pub(crate) const RUSTC_VERSION: &str = "1.53.0";
14 
15 pub const ALL_BUILTINS: &[TargetInfo<'static>] = &[
16     TargetInfo {
17         triple: "aarch64-apple-darwin",
18         os: Some(Os::macos),
19         arch: Arch::aarch64,
20         env: None,
21         vendor: Some(Vendor::apple),
22         family: Some(Family::unix),
23         pointer_width: 64,
24         endian: Endian::little,
25     },
26     TargetInfo {
27         triple: "aarch64-apple-ios",
28         os: Some(Os::ios),
29         arch: Arch::aarch64,
30         env: None,
31         vendor: Some(Vendor::apple),
32         family: Some(Family::unix),
33         pointer_width: 64,
34         endian: Endian::little,
35     },
36     TargetInfo {
37         triple: "aarch64-apple-ios-macabi",
38         os: Some(Os::ios),
39         arch: Arch::aarch64,
40         env: None,
41         vendor: Some(Vendor::apple),
42         family: Some(Family::unix),
43         pointer_width: 64,
44         endian: Endian::little,
45     },
46     TargetInfo {
47         triple: "aarch64-apple-ios-sim",
48         os: Some(Os::ios),
49         arch: Arch::aarch64,
50         env: None,
51         vendor: Some(Vendor::apple),
52         family: Some(Family::unix),
53         pointer_width: 64,
54         endian: Endian::little,
55     },
56     TargetInfo {
57         triple: "aarch64-apple-tvos",
58         os: Some(Os::tvos),
59         arch: Arch::aarch64,
60         env: None,
61         vendor: Some(Vendor::apple),
62         family: Some(Family::unix),
63         pointer_width: 64,
64         endian: Endian::little,
65     },
66     TargetInfo {
67         triple: "aarch64-fuchsia",
68         os: Some(Os::fuchsia),
69         arch: Arch::aarch64,
70         env: None,
71         vendor: Some(Vendor::unknown),
72         family: Some(Family::unix),
73         pointer_width: 64,
74         endian: Endian::little,
75     },
76     TargetInfo {
77         triple: "aarch64-linux-android",
78         os: Some(Os::android),
79         arch: Arch::aarch64,
80         env: Some(Env::gnu),
81         vendor: Some(Vendor::unknown),
82         family: Some(Family::unix),
83         pointer_width: 64,
84         endian: Endian::little,
85     },
86     TargetInfo {
87         triple: "aarch64-pc-windows-msvc",
88         os: Some(Os::windows),
89         arch: Arch::aarch64,
90         env: Some(Env::msvc),
91         vendor: Some(Vendor::pc),
92         family: Some(Family::windows),
93         pointer_width: 64,
94         endian: Endian::little,
95     },
96     TargetInfo {
97         triple: "aarch64-unknown-freebsd",
98         os: Some(Os::freebsd),
99         arch: Arch::aarch64,
100         env: None,
101         vendor: Some(Vendor::unknown),
102         family: Some(Family::unix),
103         pointer_width: 64,
104         endian: Endian::little,
105     },
106     TargetInfo {
107         triple: "aarch64-unknown-hermit",
108         os: Some(Os::hermit),
109         arch: Arch::aarch64,
110         env: None,
111         vendor: Some(Vendor::unknown),
112         family: None,
113         pointer_width: 64,
114         endian: Endian::little,
115     },
116     TargetInfo {
117         triple: "aarch64-unknown-linux-gnu",
118         os: Some(Os::linux),
119         arch: Arch::aarch64,
120         env: Some(Env::gnu),
121         vendor: Some(Vendor::unknown),
122         family: Some(Family::unix),
123         pointer_width: 64,
124         endian: Endian::little,
125     },
126     TargetInfo {
127         triple: "aarch64-unknown-linux-gnu_ilp32",
128         os: Some(Os::linux),
129         arch: Arch::aarch64,
130         env: Some(Env::gnu),
131         vendor: Some(Vendor::unknown),
132         family: Some(Family::unix),
133         pointer_width: 32,
134         endian: Endian::little,
135     },
136     TargetInfo {
137         triple: "aarch64-unknown-linux-musl",
138         os: Some(Os::linux),
139         arch: Arch::aarch64,
140         env: Some(Env::musl),
141         vendor: Some(Vendor::unknown),
142         family: Some(Family::unix),
143         pointer_width: 64,
144         endian: Endian::little,
145     },
146     TargetInfo {
147         triple: "aarch64-unknown-netbsd",
148         os: Some(Os::netbsd),
149         arch: Arch::aarch64,
150         env: None,
151         vendor: Some(Vendor::unknown),
152         family: Some(Family::unix),
153         pointer_width: 64,
154         endian: Endian::little,
155     },
156     TargetInfo {
157         triple: "aarch64-unknown-none",
158         os: None,
159         arch: Arch::aarch64,
160         env: None,
161         vendor: Some(Vendor::unknown),
162         family: None,
163         pointer_width: 64,
164         endian: Endian::little,
165     },
166     TargetInfo {
167         triple: "aarch64-unknown-none-softfloat",
168         os: None,
169         arch: Arch::aarch64,
170         env: None,
171         vendor: Some(Vendor::unknown),
172         family: None,
173         pointer_width: 64,
174         endian: Endian::little,
175     },
176     TargetInfo {
177         triple: "aarch64-unknown-openbsd",
178         os: Some(Os::openbsd),
179         arch: Arch::aarch64,
180         env: None,
181         vendor: Some(Vendor::unknown),
182         family: Some(Family::unix),
183         pointer_width: 64,
184         endian: Endian::little,
185     },
186     TargetInfo {
187         triple: "aarch64-unknown-redox",
188         os: Some(Os::redox),
189         arch: Arch::aarch64,
190         env: Some(Env::relibc),
191         vendor: Some(Vendor::unknown),
192         family: Some(Family::unix),
193         pointer_width: 64,
194         endian: Endian::little,
195     },
196     TargetInfo {
197         triple: "aarch64-uwp-windows-msvc",
198         os: Some(Os::windows),
199         arch: Arch::aarch64,
200         env: Some(Env::msvc),
201         vendor: Some(Vendor::uwp),
202         family: Some(Family::windows),
203         pointer_width: 64,
204         endian: Endian::little,
205     },
206     TargetInfo {
207         triple: "aarch64-wrs-vxworks",
208         os: Some(Os::vxworks),
209         arch: Arch::aarch64,
210         env: Some(Env::gnu),
211         vendor: Some(Vendor::wrs),
212         family: Some(Family::unix),
213         pointer_width: 64,
214         endian: Endian::little,
215     },
216     TargetInfo {
217         triple: "aarch64_be-unknown-linux-gnu",
218         os: Some(Os::linux),
219         arch: Arch::aarch64,
220         env: Some(Env::gnu),
221         vendor: Some(Vendor::unknown),
222         family: Some(Family::unix),
223         pointer_width: 64,
224         endian: Endian::big,
225     },
226     TargetInfo {
227         triple: "aarch64_be-unknown-linux-gnu_ilp32",
228         os: Some(Os::linux),
229         arch: Arch::aarch64,
230         env: Some(Env::gnu),
231         vendor: Some(Vendor::unknown),
232         family: Some(Family::unix),
233         pointer_width: 32,
234         endian: Endian::big,
235     },
236     TargetInfo {
237         triple: "arm-linux-androideabi",
238         os: Some(Os::android),
239         arch: Arch::arm,
240         env: Some(Env::gnu),
241         vendor: Some(Vendor::unknown),
242         family: Some(Family::unix),
243         pointer_width: 32,
244         endian: Endian::little,
245     },
246     TargetInfo {
247         triple: "arm-unknown-linux-gnueabi",
248         os: Some(Os::linux),
249         arch: Arch::arm,
250         env: Some(Env::gnu),
251         vendor: Some(Vendor::unknown),
252         family: Some(Family::unix),
253         pointer_width: 32,
254         endian: Endian::little,
255     },
256     TargetInfo {
257         triple: "arm-unknown-linux-gnueabihf",
258         os: Some(Os::linux),
259         arch: Arch::arm,
260         env: Some(Env::gnu),
261         vendor: Some(Vendor::unknown),
262         family: Some(Family::unix),
263         pointer_width: 32,
264         endian: Endian::little,
265     },
266     TargetInfo {
267         triple: "arm-unknown-linux-musleabi",
268         os: Some(Os::linux),
269         arch: Arch::arm,
270         env: Some(Env::musl),
271         vendor: Some(Vendor::unknown),
272         family: Some(Family::unix),
273         pointer_width: 32,
274         endian: Endian::little,
275     },
276     TargetInfo {
277         triple: "arm-unknown-linux-musleabihf",
278         os: Some(Os::linux),
279         arch: Arch::arm,
280         env: Some(Env::musl),
281         vendor: Some(Vendor::unknown),
282         family: Some(Family::unix),
283         pointer_width: 32,
284         endian: Endian::little,
285     },
286     TargetInfo {
287         triple: "armebv7r-none-eabi",
288         os: None,
289         arch: Arch::arm,
290         env: None,
291         vendor: Some(Vendor::unknown),
292         family: None,
293         pointer_width: 32,
294         endian: Endian::big,
295     },
296     TargetInfo {
297         triple: "armebv7r-none-eabihf",
298         os: None,
299         arch: Arch::arm,
300         env: None,
301         vendor: Some(Vendor::unknown),
302         family: None,
303         pointer_width: 32,
304         endian: Endian::big,
305     },
306     TargetInfo {
307         triple: "armv4t-unknown-linux-gnueabi",
308         os: Some(Os::linux),
309         arch: Arch::arm,
310         env: Some(Env::gnu),
311         vendor: Some(Vendor::unknown),
312         family: Some(Family::unix),
313         pointer_width: 32,
314         endian: Endian::little,
315     },
316     TargetInfo {
317         triple: "armv5te-unknown-linux-gnueabi",
318         os: Some(Os::linux),
319         arch: Arch::arm,
320         env: Some(Env::gnu),
321         vendor: Some(Vendor::unknown),
322         family: Some(Family::unix),
323         pointer_width: 32,
324         endian: Endian::little,
325     },
326     TargetInfo {
327         triple: "armv5te-unknown-linux-musleabi",
328         os: Some(Os::linux),
329         arch: Arch::arm,
330         env: Some(Env::musl),
331         vendor: Some(Vendor::unknown),
332         family: Some(Family::unix),
333         pointer_width: 32,
334         endian: Endian::little,
335     },
336     TargetInfo {
337         triple: "armv5te-unknown-linux-uclibceabi",
338         os: Some(Os::linux),
339         arch: Arch::arm,
340         env: Some(Env::uclibc),
341         vendor: Some(Vendor::unknown),
342         family: Some(Family::unix),
343         pointer_width: 32,
344         endian: Endian::little,
345     },
346     TargetInfo {
347         triple: "armv6-unknown-freebsd",
348         os: Some(Os::freebsd),
349         arch: Arch::arm,
350         env: Some(Env::gnueabihf),
351         vendor: Some(Vendor::unknown),
352         family: Some(Family::unix),
353         pointer_width: 32,
354         endian: Endian::little,
355     },
356     TargetInfo {
357         triple: "armv6-unknown-netbsd-eabihf",
358         os: Some(Os::netbsd),
359         arch: Arch::arm,
360         env: Some(Env::eabihf),
361         vendor: Some(Vendor::unknown),
362         family: Some(Family::unix),
363         pointer_width: 32,
364         endian: Endian::little,
365     },
366     TargetInfo {
367         triple: "armv7-apple-ios",
368         os: Some(Os::ios),
369         arch: Arch::arm,
370         env: None,
371         vendor: Some(Vendor::apple),
372         family: Some(Family::unix),
373         pointer_width: 32,
374         endian: Endian::little,
375     },
376     TargetInfo {
377         triple: "armv7-linux-androideabi",
378         os: Some(Os::android),
379         arch: Arch::arm,
380         env: Some(Env::gnu),
381         vendor: Some(Vendor::unknown),
382         family: Some(Family::unix),
383         pointer_width: 32,
384         endian: Endian::little,
385     },
386     TargetInfo {
387         triple: "armv7-unknown-freebsd",
388         os: Some(Os::freebsd),
389         arch: Arch::arm,
390         env: Some(Env::gnueabihf),
391         vendor: Some(Vendor::unknown),
392         family: Some(Family::unix),
393         pointer_width: 32,
394         endian: Endian::little,
395     },
396     TargetInfo {
397         triple: "armv7-unknown-linux-gnueabi",
398         os: Some(Os::linux),
399         arch: Arch::arm,
400         env: Some(Env::gnu),
401         vendor: Some(Vendor::unknown),
402         family: Some(Family::unix),
403         pointer_width: 32,
404         endian: Endian::little,
405     },
406     TargetInfo {
407         triple: "armv7-unknown-linux-gnueabihf",
408         os: Some(Os::linux),
409         arch: Arch::arm,
410         env: Some(Env::gnu),
411         vendor: Some(Vendor::unknown),
412         family: Some(Family::unix),
413         pointer_width: 32,
414         endian: Endian::little,
415     },
416     TargetInfo {
417         triple: "armv7-unknown-linux-musleabi",
418         os: Some(Os::linux),
419         arch: Arch::arm,
420         env: Some(Env::musl),
421         vendor: Some(Vendor::unknown),
422         family: Some(Family::unix),
423         pointer_width: 32,
424         endian: Endian::little,
425     },
426     TargetInfo {
427         triple: "armv7-unknown-linux-musleabihf",
428         os: Some(Os::linux),
429         arch: Arch::arm,
430         env: Some(Env::musl),
431         vendor: Some(Vendor::unknown),
432         family: Some(Family::unix),
433         pointer_width: 32,
434         endian: Endian::little,
435     },
436     TargetInfo {
437         triple: "armv7-unknown-netbsd-eabihf",
438         os: Some(Os::netbsd),
439         arch: Arch::arm,
440         env: Some(Env::eabihf),
441         vendor: Some(Vendor::unknown),
442         family: Some(Family::unix),
443         pointer_width: 32,
444         endian: Endian::little,
445     },
446     TargetInfo {
447         triple: "armv7-wrs-vxworks-eabihf",
448         os: Some(Os::vxworks),
449         arch: Arch::arm,
450         env: Some(Env::gnu),
451         vendor: Some(Vendor::wrs),
452         family: Some(Family::unix),
453         pointer_width: 32,
454         endian: Endian::little,
455     },
456     TargetInfo {
457         triple: "armv7a-none-eabi",
458         os: None,
459         arch: Arch::arm,
460         env: None,
461         vendor: Some(Vendor::unknown),
462         family: None,
463         pointer_width: 32,
464         endian: Endian::little,
465     },
466     TargetInfo {
467         triple: "armv7a-none-eabihf",
468         os: None,
469         arch: Arch::arm,
470         env: None,
471         vendor: Some(Vendor::unknown),
472         family: None,
473         pointer_width: 32,
474         endian: Endian::little,
475     },
476     TargetInfo {
477         triple: "armv7r-none-eabi",
478         os: None,
479         arch: Arch::arm,
480         env: None,
481         vendor: Some(Vendor::unknown),
482         family: None,
483         pointer_width: 32,
484         endian: Endian::little,
485     },
486     TargetInfo {
487         triple: "armv7r-none-eabihf",
488         os: None,
489         arch: Arch::arm,
490         env: None,
491         vendor: Some(Vendor::unknown),
492         family: None,
493         pointer_width: 32,
494         endian: Endian::little,
495     },
496     TargetInfo {
497         triple: "armv7s-apple-ios",
498         os: Some(Os::ios),
499         arch: Arch::arm,
500         env: None,
501         vendor: Some(Vendor::apple),
502         family: Some(Family::unix),
503         pointer_width: 32,
504         endian: Endian::little,
505     },
506     TargetInfo {
507         triple: "asmjs-unknown-emscripten",
508         os: Some(Os::emscripten),
509         arch: Arch::wasm32,
510         env: None,
511         vendor: Some(Vendor::unknown),
512         family: Some(Family::unix),
513         pointer_width: 32,
514         endian: Endian::little,
515     },
516     TargetInfo {
517         triple: "avr-unknown-gnu-atmega328",
518         os: None,
519         arch: Arch::avr,
520         env: None,
521         vendor: Some(Vendor::unknown),
522         family: None,
523         pointer_width: 16,
524         endian: Endian::little,
525     },
526     TargetInfo {
527         triple: "hexagon-unknown-linux-musl",
528         os: Some(Os::linux),
529         arch: Arch::hexagon,
530         env: Some(Env::musl),
531         vendor: Some(Vendor::unknown),
532         family: Some(Family::unix),
533         pointer_width: 32,
534         endian: Endian::little,
535     },
536     TargetInfo {
537         triple: "i386-apple-ios",
538         os: Some(Os::ios),
539         arch: Arch::x86,
540         env: None,
541         vendor: Some(Vendor::apple),
542         family: Some(Family::unix),
543         pointer_width: 32,
544         endian: Endian::little,
545     },
546     TargetInfo {
547         triple: "i586-pc-windows-msvc",
548         os: Some(Os::windows),
549         arch: Arch::x86,
550         env: Some(Env::msvc),
551         vendor: Some(Vendor::pc),
552         family: Some(Family::windows),
553         pointer_width: 32,
554         endian: Endian::little,
555     },
556     TargetInfo {
557         triple: "i586-unknown-linux-gnu",
558         os: Some(Os::linux),
559         arch: Arch::x86,
560         env: Some(Env::gnu),
561         vendor: Some(Vendor::unknown),
562         family: Some(Family::unix),
563         pointer_width: 32,
564         endian: Endian::little,
565     },
566     TargetInfo {
567         triple: "i586-unknown-linux-musl",
568         os: Some(Os::linux),
569         arch: Arch::x86,
570         env: Some(Env::musl),
571         vendor: Some(Vendor::unknown),
572         family: Some(Family::unix),
573         pointer_width: 32,
574         endian: Endian::little,
575     },
576     TargetInfo {
577         triple: "i686-apple-darwin",
578         os: Some(Os::macos),
579         arch: Arch::x86,
580         env: None,
581         vendor: Some(Vendor::apple),
582         family: Some(Family::unix),
583         pointer_width: 32,
584         endian: Endian::little,
585     },
586     TargetInfo {
587         triple: "i686-linux-android",
588         os: Some(Os::android),
589         arch: Arch::x86,
590         env: Some(Env::gnu),
591         vendor: Some(Vendor::unknown),
592         family: Some(Family::unix),
593         pointer_width: 32,
594         endian: Endian::little,
595     },
596     TargetInfo {
597         triple: "i686-pc-windows-gnu",
598         os: Some(Os::windows),
599         arch: Arch::x86,
600         env: Some(Env::gnu),
601         vendor: Some(Vendor::pc),
602         family: Some(Family::windows),
603         pointer_width: 32,
604         endian: Endian::little,
605     },
606     TargetInfo {
607         triple: "i686-pc-windows-msvc",
608         os: Some(Os::windows),
609         arch: Arch::x86,
610         env: Some(Env::msvc),
611         vendor: Some(Vendor::pc),
612         family: Some(Family::windows),
613         pointer_width: 32,
614         endian: Endian::little,
615     },
616     TargetInfo {
617         triple: "i686-unknown-freebsd",
618         os: Some(Os::freebsd),
619         arch: Arch::x86,
620         env: None,
621         vendor: Some(Vendor::unknown),
622         family: Some(Family::unix),
623         pointer_width: 32,
624         endian: Endian::little,
625     },
626     TargetInfo {
627         triple: "i686-unknown-haiku",
628         os: Some(Os::haiku),
629         arch: Arch::x86,
630         env: None,
631         vendor: Some(Vendor::unknown),
632         family: Some(Family::unix),
633         pointer_width: 32,
634         endian: Endian::little,
635     },
636     TargetInfo {
637         triple: "i686-unknown-linux-gnu",
638         os: Some(Os::linux),
639         arch: Arch::x86,
640         env: Some(Env::gnu),
641         vendor: Some(Vendor::unknown),
642         family: Some(Family::unix),
643         pointer_width: 32,
644         endian: Endian::little,
645     },
646     TargetInfo {
647         triple: "i686-unknown-linux-musl",
648         os: Some(Os::linux),
649         arch: Arch::x86,
650         env: Some(Env::musl),
651         vendor: Some(Vendor::unknown),
652         family: Some(Family::unix),
653         pointer_width: 32,
654         endian: Endian::little,
655     },
656     TargetInfo {
657         triple: "i686-unknown-netbsd",
658         os: Some(Os::netbsd),
659         arch: Arch::x86,
660         env: None,
661         vendor: Some(Vendor::unknown),
662         family: Some(Family::unix),
663         pointer_width: 32,
664         endian: Endian::little,
665     },
666     TargetInfo {
667         triple: "i686-unknown-openbsd",
668         os: Some(Os::openbsd),
669         arch: Arch::x86,
670         env: None,
671         vendor: Some(Vendor::unknown),
672         family: Some(Family::unix),
673         pointer_width: 32,
674         endian: Endian::little,
675     },
676     TargetInfo {
677         triple: "i686-unknown-uefi",
678         os: Some(Os::uefi),
679         arch: Arch::x86,
680         env: None,
681         vendor: Some(Vendor::unknown),
682         family: None,
683         pointer_width: 32,
684         endian: Endian::little,
685     },
686     TargetInfo {
687         triple: "i686-uwp-windows-gnu",
688         os: Some(Os::windows),
689         arch: Arch::x86,
690         env: Some(Env::gnu),
691         vendor: Some(Vendor::uwp),
692         family: Some(Family::windows),
693         pointer_width: 32,
694         endian: Endian::little,
695     },
696     TargetInfo {
697         triple: "i686-uwp-windows-msvc",
698         os: Some(Os::windows),
699         arch: Arch::x86,
700         env: Some(Env::msvc),
701         vendor: Some(Vendor::uwp),
702         family: Some(Family::windows),
703         pointer_width: 32,
704         endian: Endian::little,
705     },
706     TargetInfo {
707         triple: "i686-wrs-vxworks",
708         os: Some(Os::vxworks),
709         arch: Arch::x86,
710         env: Some(Env::gnu),
711         vendor: Some(Vendor::wrs),
712         family: Some(Family::unix),
713         pointer_width: 32,
714         endian: Endian::little,
715     },
716     TargetInfo {
717         triple: "mips-unknown-linux-gnu",
718         os: Some(Os::linux),
719         arch: Arch::mips,
720         env: Some(Env::gnu),
721         vendor: Some(Vendor::unknown),
722         family: Some(Family::unix),
723         pointer_width: 32,
724         endian: Endian::big,
725     },
726     TargetInfo {
727         triple: "mips-unknown-linux-musl",
728         os: Some(Os::linux),
729         arch: Arch::mips,
730         env: Some(Env::musl),
731         vendor: Some(Vendor::unknown),
732         family: Some(Family::unix),
733         pointer_width: 32,
734         endian: Endian::big,
735     },
736     TargetInfo {
737         triple: "mips-unknown-linux-uclibc",
738         os: Some(Os::linux),
739         arch: Arch::mips,
740         env: Some(Env::uclibc),
741         vendor: Some(Vendor::unknown),
742         family: Some(Family::unix),
743         pointer_width: 32,
744         endian: Endian::big,
745     },
746     TargetInfo {
747         triple: "mips64-unknown-linux-gnuabi64",
748         os: Some(Os::linux),
749         arch: Arch::mips64,
750         env: Some(Env::gnu),
751         vendor: Some(Vendor::unknown),
752         family: Some(Family::unix),
753         pointer_width: 64,
754         endian: Endian::big,
755     },
756     TargetInfo {
757         triple: "mips64-unknown-linux-muslabi64",
758         os: Some(Os::linux),
759         arch: Arch::mips64,
760         env: Some(Env::musl),
761         vendor: Some(Vendor::unknown),
762         family: Some(Family::unix),
763         pointer_width: 64,
764         endian: Endian::big,
765     },
766     TargetInfo {
767         triple: "mips64el-unknown-linux-gnuabi64",
768         os: Some(Os::linux),
769         arch: Arch::mips64,
770         env: Some(Env::gnu),
771         vendor: Some(Vendor::unknown),
772         family: Some(Family::unix),
773         pointer_width: 64,
774         endian: Endian::little,
775     },
776     TargetInfo {
777         triple: "mips64el-unknown-linux-muslabi64",
778         os: Some(Os::linux),
779         arch: Arch::mips64,
780         env: Some(Env::musl),
781         vendor: Some(Vendor::unknown),
782         family: Some(Family::unix),
783         pointer_width: 64,
784         endian: Endian::little,
785     },
786     TargetInfo {
787         triple: "mipsel-sony-psp",
788         os: Some(Os::psp),
789         arch: Arch::mips,
790         env: None,
791         vendor: Some(Vendor::sony),
792         family: None,
793         pointer_width: 32,
794         endian: Endian::little,
795     },
796     TargetInfo {
797         triple: "mipsel-unknown-linux-gnu",
798         os: Some(Os::linux),
799         arch: Arch::mips,
800         env: Some(Env::gnu),
801         vendor: Some(Vendor::unknown),
802         family: Some(Family::unix),
803         pointer_width: 32,
804         endian: Endian::little,
805     },
806     TargetInfo {
807         triple: "mipsel-unknown-linux-musl",
808         os: Some(Os::linux),
809         arch: Arch::mips,
810         env: Some(Env::musl),
811         vendor: Some(Vendor::unknown),
812         family: Some(Family::unix),
813         pointer_width: 32,
814         endian: Endian::little,
815     },
816     TargetInfo {
817         triple: "mipsel-unknown-linux-uclibc",
818         os: Some(Os::linux),
819         arch: Arch::mips,
820         env: Some(Env::uclibc),
821         vendor: Some(Vendor::unknown),
822         family: Some(Family::unix),
823         pointer_width: 32,
824         endian: Endian::little,
825     },
826     TargetInfo {
827         triple: "mipsel-unknown-none",
828         os: None,
829         arch: Arch::mips,
830         env: None,
831         vendor: Some(Vendor::unknown),
832         family: None,
833         pointer_width: 32,
834         endian: Endian::little,
835     },
836     TargetInfo {
837         triple: "mipsisa32r6-unknown-linux-gnu",
838         os: Some(Os::linux),
839         arch: Arch::mips,
840         env: Some(Env::gnu),
841         vendor: Some(Vendor::unknown),
842         family: Some(Family::unix),
843         pointer_width: 32,
844         endian: Endian::big,
845     },
846     TargetInfo {
847         triple: "mipsisa32r6el-unknown-linux-gnu",
848         os: Some(Os::linux),
849         arch: Arch::mips,
850         env: Some(Env::gnu),
851         vendor: Some(Vendor::unknown),
852         family: Some(Family::unix),
853         pointer_width: 32,
854         endian: Endian::little,
855     },
856     TargetInfo {
857         triple: "mipsisa64r6-unknown-linux-gnuabi64",
858         os: Some(Os::linux),
859         arch: Arch::mips64,
860         env: Some(Env::gnu),
861         vendor: Some(Vendor::unknown),
862         family: Some(Family::unix),
863         pointer_width: 64,
864         endian: Endian::big,
865     },
866     TargetInfo {
867         triple: "mipsisa64r6el-unknown-linux-gnuabi64",
868         os: Some(Os::linux),
869         arch: Arch::mips64,
870         env: Some(Env::gnu),
871         vendor: Some(Vendor::unknown),
872         family: Some(Family::unix),
873         pointer_width: 64,
874         endian: Endian::little,
875     },
876     TargetInfo {
877         triple: "msp430-none-elf",
878         os: None,
879         arch: Arch::msp430,
880         env: None,
881         vendor: Some(Vendor::unknown),
882         family: None,
883         pointer_width: 16,
884         endian: Endian::little,
885     },
886     TargetInfo {
887         triple: "nvptx64-nvidia-cuda",
888         os: Some(Os::cuda),
889         arch: Arch::nvptx64,
890         env: None,
891         vendor: Some(Vendor::nvidia),
892         family: None,
893         pointer_width: 64,
894         endian: Endian::little,
895     },
896     TargetInfo {
897         triple: "powerpc-unknown-linux-gnu",
898         os: Some(Os::linux),
899         arch: Arch::powerpc,
900         env: Some(Env::gnu),
901         vendor: Some(Vendor::unknown),
902         family: Some(Family::unix),
903         pointer_width: 32,
904         endian: Endian::big,
905     },
906     TargetInfo {
907         triple: "powerpc-unknown-linux-gnuspe",
908         os: Some(Os::linux),
909         arch: Arch::powerpc,
910         env: Some(Env::gnu),
911         vendor: Some(Vendor::unknown),
912         family: Some(Family::unix),
913         pointer_width: 32,
914         endian: Endian::big,
915     },
916     TargetInfo {
917         triple: "powerpc-unknown-linux-musl",
918         os: Some(Os::linux),
919         arch: Arch::powerpc,
920         env: Some(Env::musl),
921         vendor: Some(Vendor::unknown),
922         family: Some(Family::unix),
923         pointer_width: 32,
924         endian: Endian::big,
925     },
926     TargetInfo {
927         triple: "powerpc-unknown-netbsd",
928         os: Some(Os::netbsd),
929         arch: Arch::powerpc,
930         env: None,
931         vendor: Some(Vendor::unknown),
932         family: Some(Family::unix),
933         pointer_width: 32,
934         endian: Endian::big,
935     },
936     TargetInfo {
937         triple: "powerpc-unknown-openbsd",
938         os: Some(Os::openbsd),
939         arch: Arch::powerpc,
940         env: None,
941         vendor: Some(Vendor::unknown),
942         family: Some(Family::unix),
943         pointer_width: 32,
944         endian: Endian::big,
945     },
946     TargetInfo {
947         triple: "powerpc-wrs-vxworks",
948         os: Some(Os::vxworks),
949         arch: Arch::powerpc,
950         env: Some(Env::gnu),
951         vendor: Some(Vendor::wrs),
952         family: Some(Family::unix),
953         pointer_width: 32,
954         endian: Endian::big,
955     },
956     TargetInfo {
957         triple: "powerpc-wrs-vxworks-spe",
958         os: Some(Os::vxworks),
959         arch: Arch::powerpc,
960         env: Some(Env::gnu),
961         vendor: Some(Vendor::wrs),
962         family: Some(Family::unix),
963         pointer_width: 32,
964         endian: Endian::big,
965     },
966     TargetInfo {
967         triple: "powerpc64-unknown-freebsd",
968         os: Some(Os::freebsd),
969         arch: Arch::powerpc64,
970         env: None,
971         vendor: Some(Vendor::unknown),
972         family: Some(Family::unix),
973         pointer_width: 64,
974         endian: Endian::big,
975     },
976     TargetInfo {
977         triple: "powerpc64-unknown-linux-gnu",
978         os: Some(Os::linux),
979         arch: Arch::powerpc64,
980         env: Some(Env::gnu),
981         vendor: Some(Vendor::unknown),
982         family: Some(Family::unix),
983         pointer_width: 64,
984         endian: Endian::big,
985     },
986     TargetInfo {
987         triple: "powerpc64-unknown-linux-musl",
988         os: Some(Os::linux),
989         arch: Arch::powerpc64,
990         env: Some(Env::musl),
991         vendor: Some(Vendor::unknown),
992         family: Some(Family::unix),
993         pointer_width: 64,
994         endian: Endian::big,
995     },
996     TargetInfo {
997         triple: "powerpc64-wrs-vxworks",
998         os: Some(Os::vxworks),
999         arch: Arch::powerpc64,
1000         env: Some(Env::gnu),
1001         vendor: Some(Vendor::wrs),
1002         family: Some(Family::unix),
1003         pointer_width: 64,
1004         endian: Endian::big,
1005     },
1006     TargetInfo {
1007         triple: "powerpc64le-unknown-linux-gnu",
1008         os: Some(Os::linux),
1009         arch: Arch::powerpc64,
1010         env: Some(Env::gnu),
1011         vendor: Some(Vendor::unknown),
1012         family: Some(Family::unix),
1013         pointer_width: 64,
1014         endian: Endian::little,
1015     },
1016     TargetInfo {
1017         triple: "powerpc64le-unknown-linux-musl",
1018         os: Some(Os::linux),
1019         arch: Arch::powerpc64,
1020         env: Some(Env::musl),
1021         vendor: Some(Vendor::unknown),
1022         family: Some(Family::unix),
1023         pointer_width: 64,
1024         endian: Endian::little,
1025     },
1026     TargetInfo {
1027         triple: "riscv32gc-unknown-linux-gnu",
1028         os: Some(Os::linux),
1029         arch: Arch::riscv32,
1030         env: Some(Env::gnu),
1031         vendor: Some(Vendor::unknown),
1032         family: Some(Family::unix),
1033         pointer_width: 32,
1034         endian: Endian::little,
1035     },
1036     TargetInfo {
1037         triple: "riscv32gc-unknown-linux-musl",
1038         os: Some(Os::linux),
1039         arch: Arch::riscv32,
1040         env: Some(Env::musl),
1041         vendor: Some(Vendor::unknown),
1042         family: Some(Family::unix),
1043         pointer_width: 32,
1044         endian: Endian::little,
1045     },
1046     TargetInfo {
1047         triple: "riscv32i-unknown-none-elf",
1048         os: None,
1049         arch: Arch::riscv32,
1050         env: None,
1051         vendor: Some(Vendor::unknown),
1052         family: None,
1053         pointer_width: 32,
1054         endian: Endian::little,
1055     },
1056     TargetInfo {
1057         triple: "riscv32imac-unknown-none-elf",
1058         os: None,
1059         arch: Arch::riscv32,
1060         env: None,
1061         vendor: Some(Vendor::unknown),
1062         family: None,
1063         pointer_width: 32,
1064         endian: Endian::little,
1065     },
1066     TargetInfo {
1067         triple: "riscv32imc-unknown-none-elf",
1068         os: None,
1069         arch: Arch::riscv32,
1070         env: None,
1071         vendor: Some(Vendor::unknown),
1072         family: None,
1073         pointer_width: 32,
1074         endian: Endian::little,
1075     },
1076     TargetInfo {
1077         triple: "riscv64gc-unknown-linux-gnu",
1078         os: Some(Os::linux),
1079         arch: Arch::riscv64,
1080         env: Some(Env::gnu),
1081         vendor: Some(Vendor::unknown),
1082         family: Some(Family::unix),
1083         pointer_width: 64,
1084         endian: Endian::little,
1085     },
1086     TargetInfo {
1087         triple: "riscv64gc-unknown-linux-musl",
1088         os: Some(Os::linux),
1089         arch: Arch::riscv64,
1090         env: Some(Env::musl),
1091         vendor: Some(Vendor::unknown),
1092         family: Some(Family::unix),
1093         pointer_width: 64,
1094         endian: Endian::little,
1095     },
1096     TargetInfo {
1097         triple: "riscv64gc-unknown-none-elf",
1098         os: None,
1099         arch: Arch::riscv64,
1100         env: None,
1101         vendor: Some(Vendor::unknown),
1102         family: None,
1103         pointer_width: 64,
1104         endian: Endian::little,
1105     },
1106     TargetInfo {
1107         triple: "riscv64imac-unknown-none-elf",
1108         os: None,
1109         arch: Arch::riscv64,
1110         env: None,
1111         vendor: Some(Vendor::unknown),
1112         family: None,
1113         pointer_width: 64,
1114         endian: Endian::little,
1115     },
1116     TargetInfo {
1117         triple: "s390x-unknown-linux-gnu",
1118         os: Some(Os::linux),
1119         arch: Arch::s390x,
1120         env: Some(Env::gnu),
1121         vendor: Some(Vendor::unknown),
1122         family: Some(Family::unix),
1123         pointer_width: 64,
1124         endian: Endian::big,
1125     },
1126     TargetInfo {
1127         triple: "s390x-unknown-linux-musl",
1128         os: Some(Os::linux),
1129         arch: Arch::s390x,
1130         env: Some(Env::musl),
1131         vendor: Some(Vendor::unknown),
1132         family: Some(Family::unix),
1133         pointer_width: 64,
1134         endian: Endian::big,
1135     },
1136     TargetInfo {
1137         triple: "sparc-unknown-linux-gnu",
1138         os: Some(Os::linux),
1139         arch: Arch::sparc,
1140         env: Some(Env::gnu),
1141         vendor: Some(Vendor::unknown),
1142         family: Some(Family::unix),
1143         pointer_width: 32,
1144         endian: Endian::big,
1145     },
1146     TargetInfo {
1147         triple: "sparc64-unknown-linux-gnu",
1148         os: Some(Os::linux),
1149         arch: Arch::sparc64,
1150         env: Some(Env::gnu),
1151         vendor: Some(Vendor::unknown),
1152         family: Some(Family::unix),
1153         pointer_width: 64,
1154         endian: Endian::big,
1155     },
1156     TargetInfo {
1157         triple: "sparc64-unknown-netbsd",
1158         os: Some(Os::netbsd),
1159         arch: Arch::sparc64,
1160         env: None,
1161         vendor: Some(Vendor::unknown),
1162         family: Some(Family::unix),
1163         pointer_width: 64,
1164         endian: Endian::big,
1165     },
1166     TargetInfo {
1167         triple: "sparc64-unknown-openbsd",
1168         os: Some(Os::openbsd),
1169         arch: Arch::sparc64,
1170         env: None,
1171         vendor: Some(Vendor::unknown),
1172         family: Some(Family::unix),
1173         pointer_width: 64,
1174         endian: Endian::big,
1175     },
1176     TargetInfo {
1177         triple: "sparcv9-sun-solaris",
1178         os: Some(Os::solaris),
1179         arch: Arch::sparc64,
1180         env: None,
1181         vendor: Some(Vendor::sun),
1182         family: Some(Family::unix),
1183         pointer_width: 64,
1184         endian: Endian::big,
1185     },
1186     TargetInfo {
1187         triple: "thumbv4t-none-eabi",
1188         os: None,
1189         arch: Arch::arm,
1190         env: None,
1191         vendor: Some(Vendor::unknown),
1192         family: None,
1193         pointer_width: 32,
1194         endian: Endian::little,
1195     },
1196     TargetInfo {
1197         triple: "thumbv6m-none-eabi",
1198         os: None,
1199         arch: Arch::arm,
1200         env: None,
1201         vendor: Some(Vendor::unknown),
1202         family: None,
1203         pointer_width: 32,
1204         endian: Endian::little,
1205     },
1206     TargetInfo {
1207         triple: "thumbv7a-pc-windows-msvc",
1208         os: Some(Os::windows),
1209         arch: Arch::arm,
1210         env: Some(Env::msvc),
1211         vendor: Some(Vendor::pc),
1212         family: Some(Family::windows),
1213         pointer_width: 32,
1214         endian: Endian::little,
1215     },
1216     TargetInfo {
1217         triple: "thumbv7a-uwp-windows-msvc",
1218         os: Some(Os::windows),
1219         arch: Arch::arm,
1220         env: Some(Env::msvc),
1221         vendor: Some(Vendor::uwp),
1222         family: Some(Family::windows),
1223         pointer_width: 32,
1224         endian: Endian::little,
1225     },
1226     TargetInfo {
1227         triple: "thumbv7em-none-eabi",
1228         os: None,
1229         arch: Arch::arm,
1230         env: None,
1231         vendor: Some(Vendor::unknown),
1232         family: None,
1233         pointer_width: 32,
1234         endian: Endian::little,
1235     },
1236     TargetInfo {
1237         triple: "thumbv7em-none-eabihf",
1238         os: None,
1239         arch: Arch::arm,
1240         env: None,
1241         vendor: Some(Vendor::unknown),
1242         family: None,
1243         pointer_width: 32,
1244         endian: Endian::little,
1245     },
1246     TargetInfo {
1247         triple: "thumbv7m-none-eabi",
1248         os: None,
1249         arch: Arch::arm,
1250         env: None,
1251         vendor: Some(Vendor::unknown),
1252         family: None,
1253         pointer_width: 32,
1254         endian: Endian::little,
1255     },
1256     TargetInfo {
1257         triple: "thumbv7neon-linux-androideabi",
1258         os: Some(Os::android),
1259         arch: Arch::arm,
1260         env: Some(Env::gnu),
1261         vendor: Some(Vendor::unknown),
1262         family: Some(Family::unix),
1263         pointer_width: 32,
1264         endian: Endian::little,
1265     },
1266     TargetInfo {
1267         triple: "thumbv7neon-unknown-linux-gnueabihf",
1268         os: Some(Os::linux),
1269         arch: Arch::arm,
1270         env: Some(Env::gnu),
1271         vendor: Some(Vendor::unknown),
1272         family: Some(Family::unix),
1273         pointer_width: 32,
1274         endian: Endian::little,
1275     },
1276     TargetInfo {
1277         triple: "thumbv7neon-unknown-linux-musleabihf",
1278         os: Some(Os::linux),
1279         arch: Arch::arm,
1280         env: Some(Env::musl),
1281         vendor: Some(Vendor::unknown),
1282         family: Some(Family::unix),
1283         pointer_width: 32,
1284         endian: Endian::little,
1285     },
1286     TargetInfo {
1287         triple: "thumbv8m.base-none-eabi",
1288         os: None,
1289         arch: Arch::arm,
1290         env: None,
1291         vendor: Some(Vendor::unknown),
1292         family: None,
1293         pointer_width: 32,
1294         endian: Endian::little,
1295     },
1296     TargetInfo {
1297         triple: "thumbv8m.main-none-eabi",
1298         os: None,
1299         arch: Arch::arm,
1300         env: None,
1301         vendor: Some(Vendor::unknown),
1302         family: None,
1303         pointer_width: 32,
1304         endian: Endian::little,
1305     },
1306     TargetInfo {
1307         triple: "thumbv8m.main-none-eabihf",
1308         os: None,
1309         arch: Arch::arm,
1310         env: None,
1311         vendor: Some(Vendor::unknown),
1312         family: None,
1313         pointer_width: 32,
1314         endian: Endian::little,
1315     },
1316     TargetInfo {
1317         triple: "wasm32-unknown-emscripten",
1318         os: Some(Os::emscripten),
1319         arch: Arch::wasm32,
1320         env: None,
1321         vendor: Some(Vendor::unknown),
1322         family: Some(Family::unix),
1323         pointer_width: 32,
1324         endian: Endian::little,
1325     },
1326     TargetInfo {
1327         triple: "wasm32-unknown-unknown",
1328         os: Some(Os::unknown),
1329         arch: Arch::wasm32,
1330         env: None,
1331         vendor: Some(Vendor::unknown),
1332         family: None,
1333         pointer_width: 32,
1334         endian: Endian::little,
1335     },
1336     TargetInfo {
1337         triple: "wasm32-wasi",
1338         os: Some(Os::wasi),
1339         arch: Arch::wasm32,
1340         env: None,
1341         vendor: Some(Vendor::unknown),
1342         family: None,
1343         pointer_width: 32,
1344         endian: Endian::little,
1345     },
1346     TargetInfo {
1347         triple: "wasm64-unknown-unknown",
1348         os: Some(Os::unknown),
1349         arch: Arch::wasm64,
1350         env: None,
1351         vendor: Some(Vendor::unknown),
1352         family: None,
1353         pointer_width: 64,
1354         endian: Endian::little,
1355     },
1356     TargetInfo {
1357         triple: "x86_64-apple-darwin",
1358         os: Some(Os::macos),
1359         arch: Arch::x86_64,
1360         env: None,
1361         vendor: Some(Vendor::apple),
1362         family: Some(Family::unix),
1363         pointer_width: 64,
1364         endian: Endian::little,
1365     },
1366     TargetInfo {
1367         triple: "x86_64-apple-ios",
1368         os: Some(Os::ios),
1369         arch: Arch::x86_64,
1370         env: None,
1371         vendor: Some(Vendor::apple),
1372         family: Some(Family::unix),
1373         pointer_width: 64,
1374         endian: Endian::little,
1375     },
1376     TargetInfo {
1377         triple: "x86_64-apple-ios-macabi",
1378         os: Some(Os::ios),
1379         arch: Arch::x86_64,
1380         env: None,
1381         vendor: Some(Vendor::apple),
1382         family: Some(Family::unix),
1383         pointer_width: 64,
1384         endian: Endian::little,
1385     },
1386     TargetInfo {
1387         triple: "x86_64-apple-tvos",
1388         os: Some(Os::tvos),
1389         arch: Arch::x86_64,
1390         env: None,
1391         vendor: Some(Vendor::apple),
1392         family: Some(Family::unix),
1393         pointer_width: 64,
1394         endian: Endian::little,
1395     },
1396     TargetInfo {
1397         triple: "x86_64-fortanix-unknown-sgx",
1398         os: Some(Os::unknown),
1399         arch: Arch::x86_64,
1400         env: Some(Env::sgx),
1401         vendor: Some(Vendor::fortanix),
1402         family: None,
1403         pointer_width: 64,
1404         endian: Endian::little,
1405     },
1406     TargetInfo {
1407         triple: "x86_64-fuchsia",
1408         os: Some(Os::fuchsia),
1409         arch: Arch::x86_64,
1410         env: None,
1411         vendor: Some(Vendor::unknown),
1412         family: Some(Family::unix),
1413         pointer_width: 64,
1414         endian: Endian::little,
1415     },
1416     TargetInfo {
1417         triple: "x86_64-linux-android",
1418         os: Some(Os::android),
1419         arch: Arch::x86_64,
1420         env: Some(Env::gnu),
1421         vendor: Some(Vendor::unknown),
1422         family: Some(Family::unix),
1423         pointer_width: 64,
1424         endian: Endian::little,
1425     },
1426     TargetInfo {
1427         triple: "x86_64-pc-solaris",
1428         os: Some(Os::solaris),
1429         arch: Arch::x86_64,
1430         env: None,
1431         vendor: Some(Vendor::pc),
1432         family: Some(Family::unix),
1433         pointer_width: 64,
1434         endian: Endian::little,
1435     },
1436     TargetInfo {
1437         triple: "x86_64-pc-windows-gnu",
1438         os: Some(Os::windows),
1439         arch: Arch::x86_64,
1440         env: Some(Env::gnu),
1441         vendor: Some(Vendor::pc),
1442         family: Some(Family::windows),
1443         pointer_width: 64,
1444         endian: Endian::little,
1445     },
1446     TargetInfo {
1447         triple: "x86_64-pc-windows-msvc",
1448         os: Some(Os::windows),
1449         arch: Arch::x86_64,
1450         env: Some(Env::msvc),
1451         vendor: Some(Vendor::pc),
1452         family: Some(Family::windows),
1453         pointer_width: 64,
1454         endian: Endian::little,
1455     },
1456     TargetInfo {
1457         triple: "x86_64-sun-solaris",
1458         os: Some(Os::solaris),
1459         arch: Arch::x86_64,
1460         env: None,
1461         vendor: Some(Vendor::sun),
1462         family: Some(Family::unix),
1463         pointer_width: 64,
1464         endian: Endian::little,
1465     },
1466     TargetInfo {
1467         triple: "x86_64-unknown-dragonfly",
1468         os: Some(Os::dragonfly),
1469         arch: Arch::x86_64,
1470         env: None,
1471         vendor: Some(Vendor::unknown),
1472         family: Some(Family::unix),
1473         pointer_width: 64,
1474         endian: Endian::little,
1475     },
1476     TargetInfo {
1477         triple: "x86_64-unknown-freebsd",
1478         os: Some(Os::freebsd),
1479         arch: Arch::x86_64,
1480         env: None,
1481         vendor: Some(Vendor::unknown),
1482         family: Some(Family::unix),
1483         pointer_width: 64,
1484         endian: Endian::little,
1485     },
1486     TargetInfo {
1487         triple: "x86_64-unknown-haiku",
1488         os: Some(Os::haiku),
1489         arch: Arch::x86_64,
1490         env: None,
1491         vendor: Some(Vendor::unknown),
1492         family: Some(Family::unix),
1493         pointer_width: 64,
1494         endian: Endian::little,
1495     },
1496     TargetInfo {
1497         triple: "x86_64-unknown-hermit",
1498         os: Some(Os::hermit),
1499         arch: Arch::x86_64,
1500         env: None,
1501         vendor: Some(Vendor::unknown),
1502         family: None,
1503         pointer_width: 64,
1504         endian: Endian::little,
1505     },
1506     TargetInfo {
1507         triple: "x86_64-unknown-illumos",
1508         os: Some(Os::illumos),
1509         arch: Arch::x86_64,
1510         env: None,
1511         vendor: Some(Vendor::unknown),
1512         family: Some(Family::unix),
1513         pointer_width: 64,
1514         endian: Endian::little,
1515     },
1516     TargetInfo {
1517         triple: "x86_64-unknown-l4re-uclibc",
1518         os: Some(Os::l4re),
1519         arch: Arch::x86_64,
1520         env: Some(Env::uclibc),
1521         vendor: Some(Vendor::unknown),
1522         family: Some(Family::unix),
1523         pointer_width: 64,
1524         endian: Endian::little,
1525     },
1526     TargetInfo {
1527         triple: "x86_64-unknown-linux-gnu",
1528         os: Some(Os::linux),
1529         arch: Arch::x86_64,
1530         env: Some(Env::gnu),
1531         vendor: Some(Vendor::unknown),
1532         family: Some(Family::unix),
1533         pointer_width: 64,
1534         endian: Endian::little,
1535     },
1536     TargetInfo {
1537         triple: "x86_64-unknown-linux-gnux32",
1538         os: Some(Os::linux),
1539         arch: Arch::x86_64,
1540         env: Some(Env::gnu),
1541         vendor: Some(Vendor::unknown),
1542         family: Some(Family::unix),
1543         pointer_width: 32,
1544         endian: Endian::little,
1545     },
1546     TargetInfo {
1547         triple: "x86_64-unknown-linux-musl",
1548         os: Some(Os::linux),
1549         arch: Arch::x86_64,
1550         env: Some(Env::musl),
1551         vendor: Some(Vendor::unknown),
1552         family: Some(Family::unix),
1553         pointer_width: 64,
1554         endian: Endian::little,
1555     },
1556     TargetInfo {
1557         triple: "x86_64-unknown-netbsd",
1558         os: Some(Os::netbsd),
1559         arch: Arch::x86_64,
1560         env: None,
1561         vendor: Some(Vendor::unknown),
1562         family: Some(Family::unix),
1563         pointer_width: 64,
1564         endian: Endian::little,
1565     },
1566     TargetInfo {
1567         triple: "x86_64-unknown-none-hermitkernel",
1568         os: Some(Os::hermit),
1569         arch: Arch::x86_64,
1570         env: None,
1571         vendor: Some(Vendor::unknown),
1572         family: None,
1573         pointer_width: 64,
1574         endian: Endian::little,
1575     },
1576     TargetInfo {
1577         triple: "x86_64-unknown-none-linuxkernel",
1578         os: None,
1579         arch: Arch::x86_64,
1580         env: Some(Env::gnu),
1581         vendor: Some(Vendor::unknown),
1582         family: None,
1583         pointer_width: 64,
1584         endian: Endian::little,
1585     },
1586     TargetInfo {
1587         triple: "x86_64-unknown-openbsd",
1588         os: Some(Os::openbsd),
1589         arch: Arch::x86_64,
1590         env: None,
1591         vendor: Some(Vendor::unknown),
1592         family: Some(Family::unix),
1593         pointer_width: 64,
1594         endian: Endian::little,
1595     },
1596     TargetInfo {
1597         triple: "x86_64-unknown-redox",
1598         os: Some(Os::redox),
1599         arch: Arch::x86_64,
1600         env: Some(Env::relibc),
1601         vendor: Some(Vendor::unknown),
1602         family: Some(Family::unix),
1603         pointer_width: 64,
1604         endian: Endian::little,
1605     },
1606     TargetInfo {
1607         triple: "x86_64-unknown-uefi",
1608         os: Some(Os::uefi),
1609         arch: Arch::x86_64,
1610         env: None,
1611         vendor: Some(Vendor::unknown),
1612         family: None,
1613         pointer_width: 64,
1614         endian: Endian::little,
1615     },
1616     TargetInfo {
1617         triple: "x86_64-uwp-windows-gnu",
1618         os: Some(Os::windows),
1619         arch: Arch::x86_64,
1620         env: Some(Env::gnu),
1621         vendor: Some(Vendor::uwp),
1622         family: Some(Family::windows),
1623         pointer_width: 64,
1624         endian: Endian::little,
1625     },
1626     TargetInfo {
1627         triple: "x86_64-uwp-windows-msvc",
1628         os: Some(Os::windows),
1629         arch: Arch::x86_64,
1630         env: Some(Env::msvc),
1631         vendor: Some(Vendor::uwp),
1632         family: Some(Family::windows),
1633         pointer_width: 64,
1634         endian: Endian::little,
1635     },
1636     TargetInfo {
1637         triple: "x86_64-wrs-vxworks",
1638         os: Some(Os::vxworks),
1639         arch: Arch::x86_64,
1640         env: Some(Env::gnu),
1641         vendor: Some(Vendor::wrs),
1642         family: Some(Family::unix),
1643         pointer_width: 64,
1644         endian: Endian::little,
1645     },
1646 ];
1647 
1648 impl<'a> super::Arch<'a> {
1649     pub const aarch64: Arch<'static> = Arch("aarch64");
1650     pub const arm: Arch<'static> = Arch("arm");
1651     pub const avr: Arch<'static> = Arch("avr");
1652     pub const hexagon: Arch<'static> = Arch("hexagon");
1653     pub const mips: Arch<'static> = Arch("mips");
1654     pub const mips64: Arch<'static> = Arch("mips64");
1655     pub const msp430: Arch<'static> = Arch("msp430");
1656     pub const nvptx64: Arch<'static> = Arch("nvptx64");
1657     pub const powerpc: Arch<'static> = Arch("powerpc");
1658     pub const powerpc64: Arch<'static> = Arch("powerpc64");
1659     pub const riscv32: Arch<'static> = Arch("riscv32");
1660     pub const riscv64: Arch<'static> = Arch("riscv64");
1661     pub const s390x: Arch<'static> = Arch("s390x");
1662     pub const sparc: Arch<'static> = Arch("sparc");
1663     pub const sparc64: Arch<'static> = Arch("sparc64");
1664     pub const wasm32: Arch<'static> = Arch("wasm32");
1665     pub const wasm64: Arch<'static> = Arch("wasm64");
1666     pub const x86: Arch<'static> = Arch("x86");
1667     pub const x86_64: Arch<'static> = Arch("x86_64");
1668 }
1669 
1670 impl<'a> super::Vendor<'a> {
1671     pub const apple: Vendor<'static> = Vendor("apple");
1672     pub const fortanix: Vendor<'static> = Vendor("fortanix");
1673     pub const nvidia: Vendor<'static> = Vendor("nvidia");
1674     pub const pc: Vendor<'static> = Vendor("pc");
1675     pub const sony: Vendor<'static> = Vendor("sony");
1676     pub const sun: Vendor<'static> = Vendor("sun");
1677     pub const unknown: Vendor<'static> = Vendor("unknown");
1678     pub const uwp: Vendor<'static> = Vendor("uwp");
1679     pub const wrs: Vendor<'static> = Vendor("wrs");
1680 }
1681 
1682 impl<'a> super::Os<'a> {
1683     pub const android: Os<'static> = Os("android");
1684     pub const cuda: Os<'static> = Os("cuda");
1685     pub const dragonfly: Os<'static> = Os("dragonfly");
1686     pub const emscripten: Os<'static> = Os("emscripten");
1687     pub const freebsd: Os<'static> = Os("freebsd");
1688     pub const fuchsia: Os<'static> = Os("fuchsia");
1689     pub const haiku: Os<'static> = Os("haiku");
1690     pub const hermit: Os<'static> = Os("hermit");
1691     pub const illumos: Os<'static> = Os("illumos");
1692     pub const ios: Os<'static> = Os("ios");
1693     pub const l4re: Os<'static> = Os("l4re");
1694     pub const linux: Os<'static> = Os("linux");
1695     pub const macos: Os<'static> = Os("macos");
1696     pub const netbsd: Os<'static> = Os("netbsd");
1697     pub const openbsd: Os<'static> = Os("openbsd");
1698     pub const psp: Os<'static> = Os("psp");
1699     pub const redox: Os<'static> = Os("redox");
1700     pub const solaris: Os<'static> = Os("solaris");
1701     pub const tvos: Os<'static> = Os("tvos");
1702     pub const uefi: Os<'static> = Os("uefi");
1703     pub const unknown: Os<'static> = Os("unknown");
1704     pub const vxworks: Os<'static> = Os("vxworks");
1705     pub const wasi: Os<'static> = Os("wasi");
1706     pub const windows: Os<'static> = Os("windows");
1707 }
1708 
1709 impl<'a> super::Env<'a> {
1710     pub const eabihf: Env<'static> = Env("eabihf");
1711     pub const gnu: Env<'static> = Env("gnu");
1712     pub const gnueabihf: Env<'static> = Env("gnueabihf");
1713     pub const msvc: Env<'static> = Env("msvc");
1714     pub const musl: Env<'static> = Env("musl");
1715     pub const relibc: Env<'static> = Env("relibc");
1716     pub const sgx: Env<'static> = Env("sgx");
1717     pub const uclibc: Env<'static> = Env("uclibc");
1718 }
1719