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