authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2020-12-16 17:54:49+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2020-12-16 18:13:58+01:00
log1c40a4df094132db952157bf28253ed80646ea00
tree2aa86028c4a8ae0ccc324ad1e60b34891487e5d4
parent6f3ed2f71f3548b399214f604d820cd2dd2887f3

Update zig_llvm.cpp and other bits

Include updates to corresponding zig sources llvm commit b2851aea80e5a8f0cfd6c3c5a56a6b00fb28c6b6

13 files changed, 127 insertions(+), 88 deletions(-)

lib/std/target.zig+12-5
...@@ -36,11 +36,11 @@ pub const Target = struct {...@@ -36,11 +36,11 @@ pub const Target = struct {
36 openbsd,36 openbsd,
37 solaris,37 solaris,
38 windows,38 windows,
39 zos,
39 haiku,40 haiku,
40 minix,41 minix,
41 rtems,42 rtems,
42 nacl,43 nacl,
43 cnk,
44 aix,44 aix,
45 cuda,45 cuda,
46 nvcl,46 nvcl,
...@@ -206,11 +206,11 @@ pub const Target = struct {...@@ -206,11 +206,11 @@ pub const Target = struct {
206 .kfreebsd,206 .kfreebsd,
207 .lv2,207 .lv2,
208 .solaris,208 .solaris,
209 .zos,
209 .haiku,210 .haiku,
210 .minix,211 .minix,
211 .rtems,212 .rtems,
212 .nacl,213 .nacl,
213 .cnk,
214 .aix,214 .aix,
215 .cuda,215 .cuda,
216 .nvcl,216 .nvcl,
...@@ -358,11 +358,11 @@ pub const Target = struct {...@@ -358,11 +358,11 @@ pub const Target = struct {
358 .kfreebsd,358 .kfreebsd,
359 .lv2,359 .lv2,
360 .solaris,360 .solaris,
361 .zos,
361 .haiku,362 .haiku,
362 .minix,363 .minix,
363 .rtems,364 .rtems,
364 .nacl,365 .nacl,
365 .cnk,
366 .aix,366 .aix,
367 .cuda,367 .cuda,
368 .nvcl,368 .nvcl,
...@@ -432,11 +432,11 @@ pub const Target = struct {...@@ -432,11 +432,11 @@ pub const Target = struct {
432 .dragonfly,432 .dragonfly,
433 .lv2,433 .lv2,
434 .solaris,434 .solaris,
435 .zos,
435 .haiku,436 .haiku,
436 .minix,437 .minix,
437 .rtems,438 .rtems,
438 .nacl,439 .nacl,
439 .cnk,
440 .aix,440 .aix,
441 .cuda,441 .cuda,
442 .nvcl,442 .nvcl,
...@@ -673,6 +673,7 @@ pub const Target = struct {...@@ -673,6 +673,7 @@ pub const Target = struct {
673 avr,673 avr,
674 bpfel,674 bpfel,
675 bpfeb,675 bpfeb,
676 csky,
676 hexagon,677 hexagon,
677 mips,678 mips,
678 mipsel,679 mipsel,
...@@ -827,6 +828,7 @@ pub const Target = struct {...@@ -827,6 +828,7 @@ pub const Target = struct {
827 .amdgcn => ._NONE,828 .amdgcn => ._NONE,
828 .bpfel => ._BPF,829 .bpfel => ._BPF,
829 .bpfeb => ._BPF,830 .bpfeb => ._BPF,
831 .csky => ._CSKY,
830 .sparcv9 => ._SPARCV9,832 .sparcv9 => ._SPARCV9,
831 .s390x => ._S390,833 .s390x => ._S390,
832 .ve => ._NONE,834 .ve => ._NONE,
...@@ -884,6 +886,7 @@ pub const Target = struct {...@@ -884,6 +886,7 @@ pub const Target = struct {
884 .amdgcn => .Unknown,886 .amdgcn => .Unknown,
885 .bpfel => .Unknown,887 .bpfel => .Unknown,
886 .bpfeb => .Unknown,888 .bpfeb => .Unknown,
889 .csky => .Unknown,
887 .sparcv9 => .Unknown,890 .sparcv9 => .Unknown,
888 .s390x => .Unknown,891 .s390x => .Unknown,
889 .ve => .Unknown,892 .ve => .Unknown,
...@@ -901,6 +904,7 @@ pub const Target = struct {...@@ -901,6 +904,7 @@ pub const Target = struct {
901 .amdil,904 .amdil,
902 .amdil64,905 .amdil64,
903 .bpfel,906 .bpfel,
907 .csky,
904 .hexagon,908 .hexagon,
905 .hsail,909 .hsail,
906 .hsail64,910 .hsail64,
...@@ -961,6 +965,7 @@ pub const Target = struct {...@@ -961,6 +965,7 @@ pub const Target = struct {
961 .arc,965 .arc,
962 .arm,966 .arm,
963 .armeb,967 .armeb,
968 .csky,
964 .hexagon,969 .hexagon,
965 .le32,970 .le32,
966 .mips,971 .mips,
...@@ -1020,6 +1025,7 @@ pub const Target = struct {...@@ -1020,6 +1025,7 @@ pub const Target = struct {
1020 .aarch64, .aarch64_be, .aarch64_32 => "aarch64",1025 .aarch64, .aarch64_be, .aarch64_32 => "aarch64",
1021 .avr => "avr",1026 .avr => "avr",
1022 .bpfel, .bpfeb => "bpf",1027 .bpfel, .bpfeb => "bpf",
1028 .csky => "csky",
1023 .hexagon => "hexagon",1029 .hexagon => "hexagon",
1024 .mips, .mipsel, .mips64, .mips64el => "mips",1030 .mips, .mipsel, .mips64, .mips64el => "mips",
1025 .msp430 => "msp430",1031 .msp430 => "msp430",
...@@ -1461,6 +1467,7 @@ pub const Target = struct {...@@ -1461,6 +1467,7 @@ pub const Target = struct {
1461 // TODO go over each item in this list and either move it to the above list, or1467 // TODO go over each item in this list and either move it to the above list, or
1462 // implement the standard dynamic linker path code for it.1468 // implement the standard dynamic linker path code for it.
1463 .arc,1469 .arc,
1470 .csky,
1464 .hexagon,1471 .hexagon,
1465 .msp430,1472 .msp430,
1466 .r600,1473 .r600,
...@@ -1509,11 +1516,11 @@ pub const Target = struct {...@@ -1509,11 +1516,11 @@ pub const Target = struct {
1509 .kfreebsd,1516 .kfreebsd,
1510 .lv2,1517 .lv2,
1511 .solaris,1518 .solaris,
1519 .zos,
1512 .haiku,1520 .haiku,
1513 .minix,1521 .minix,
1514 .rtems,1522 .rtems,
1515 .nacl,1523 .nacl,
1516 .cnk,
1517 .aix,1524 .aix,
1518 .cuda,1525 .cuda,
1519 .nvcl,1526 .nvcl,
lib/std/zig/cross_target.zig+2-2
...@@ -111,11 +111,11 @@ pub const CrossTarget = struct {...@@ -111,11 +111,11 @@ pub const CrossTarget = struct {
111 .kfreebsd,111 .kfreebsd,
112 .lv2,112 .lv2,
113 .solaris,113 .solaris,
114 .zos,
114 .haiku,115 .haiku,
115 .minix,116 .minix,
116 .rtems,117 .rtems,
117 .nacl,118 .nacl,
118 .cnk,
119 .aix,119 .aix,
120 .cuda,120 .cuda,
121 .nvcl,121 .nvcl,
...@@ -711,11 +711,11 @@ pub const CrossTarget = struct {...@@ -711,11 +711,11 @@ pub const CrossTarget = struct {
711 .kfreebsd,711 .kfreebsd,
712 .lv2,712 .lv2,
713 .solaris,713 .solaris,
714 .zos,
714 .haiku,715 .haiku,
715 .minix,716 .minix,
716 .rtems,717 .rtems,
717 .nacl,718 .nacl,
718 .cnk,
719 .aix,719 .aix,
720 .cuda,720 .cuda,
721 .nvcl,721 .nvcl,
src/codegen/llvm.zig+2-1
...@@ -12,6 +12,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![]u8 {...@@ -12,6 +12,7 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![]u8 {
12 .avr => "avr",12 .avr => "avr",
13 .bpfel => "bpfel",13 .bpfel => "bpfel",
14 .bpfeb => "bpfeb",14 .bpfeb => "bpfeb",
15 .csky => "csky",
15 .hexagon => "hexagon",16 .hexagon => "hexagon",
16 .mips => "mips",17 .mips => "mips",
17 .mipsel => "mipsel",18 .mipsel => "mipsel",
...@@ -74,11 +75,11 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![]u8 {...@@ -74,11 +75,11 @@ pub fn targetTriple(allocator: *Allocator, target: std.Target) ![]u8 {
74 .openbsd => "openbsd",75 .openbsd => "openbsd",
75 .solaris => "solaris",76 .solaris => "solaris",
76 .windows => "windows",77 .windows => "windows",
78 .zos => "zos",
77 .haiku => "haiku",79 .haiku => "haiku",
78 .minix => "minix",80 .minix => "minix",
79 .rtems => "rtems",81 .rtems => "rtems",
80 .nacl => "nacl",82 .nacl => "nacl",
81 .cnk => "cnk",
82 .aix => "aix",83 .aix => "aix",
83 .cuda => "cuda",84 .cuda => "cuda",
84 .nvcl => "nvcl",85 .nvcl => "nvcl",
src/llvm.zig+49-47
...@@ -15,6 +15,7 @@ pub const ObjectFormatType = extern enum(c_int) {...@@ -15,6 +15,7 @@ pub const ObjectFormatType = extern enum(c_int) {
15 Unknown,15 Unknown,
16 COFF,16 COFF,
17 ELF,17 ELF,
18 GOFF,
18 MachO,19 MachO,
19 Wasm,20 Wasm,
20 XCOFF,21 XCOFF,
...@@ -51,11 +52,11 @@ pub const OSType = extern enum(c_int) {...@@ -51,11 +52,11 @@ pub const OSType = extern enum(c_int) {
51 OpenBSD = 13,52 OpenBSD = 13,
52 Solaris = 14,53 Solaris = 14,
53 Win32 = 15,54 Win32 = 15,
54 Haiku = 16,55 ZOS = 16,
55 Minix = 17,56 Haiku = 17,
56 RTEMS = 18,57 Minix = 18,
57 NaCl = 19,58 RTEMS = 19,
58 CNK = 20,59 NaCl = 20,
59 AIX = 21,60 AIX = 21,
60 CUDA = 22,61 CUDA = 22,
61 NVCL = 23,62 NVCL = 23,
...@@ -84,48 +85,49 @@ pub const ArchType = extern enum(c_int) {...@@ -84,48 +85,49 @@ pub const ArchType = extern enum(c_int) {
84 avr = 7,85 avr = 7,
85 bpfel = 8,86 bpfel = 8,
86 bpfeb = 9,87 bpfeb = 9,
87 hexagon = 10,88 csky = 10,
88 mips = 11,89 hexagon = 11,
89 mipsel = 12,90 mips = 12,
90 mips64 = 13,91 mipsel = 13,
91 mips64el = 14,92 mips64 = 14,
92 msp430 = 15,93 mips64el = 15,
93 ppc = 16,94 msp430 = 16,
94 ppc64 = 17,95 ppc = 17,
95 ppc64le = 18,96 ppc64 = 18,
96 r600 = 19,97 ppc64le = 19,
97 amdgcn = 20,98 r600 = 20,
98 riscv32 = 21,99 amdgcn = 21,
99 riscv64 = 22,100 riscv32 = 22,
100 sparc = 23,101 riscv64 = 23,
101 sparcv9 = 24,102 sparc = 24,
102 sparcel = 25,103 sparcv9 = 25,
103 systemz = 26,104 sparcel = 26,
104 tce = 27,105 systemz = 27,
105 tcele = 28,106 tce = 28,
106 thumb = 29,107 tcele = 29,
107 thumbeb = 30,108 thumb = 30,
108 x86 = 31,109 thumbeb = 31,
109 x86_64 = 32,110 x86 = 32,
110 xcore = 33,111 x86_64 = 33,
111 nvptx = 34,112 xcore = 34,
112 nvptx64 = 35,113 nvptx = 35,
113 le32 = 36,114 nvptx64 = 36,
114 le64 = 37,115 le32 = 37,
115 amdil = 38,116 le64 = 38,
116 amdil64 = 39,117 amdil = 39,
117 hsail = 40,118 amdil64 = 40,
118 hsail64 = 41,119 hsail = 41,
119 spir = 42,120 hsail64 = 42,
120 spir64 = 43,121 spir = 43,
121 kalimba = 44,122 spir64 = 44,
122 shave = 45,123 kalimba = 45,
123 lanai = 46,124 shave = 46,
124 wasm32 = 47,125 lanai = 47,
125 wasm64 = 48,126 wasm32 = 48,
126 renderscript32 = 49,127 wasm64 = 49,
127 renderscript64 = 50,128 renderscript32 = 50,
128 ve = 51,129 renderscript64 = 51,
130 ve = 52,
129};131};
130132
131pub const ParseCommandLineOptions = ZigLLVMParseCommandLineOptions;133pub const ParseCommandLineOptions = ZigLLVMParseCommandLineOptions;
src/stage1/stage1.h+1-1
...@@ -73,11 +73,11 @@ enum Os {...@@ -73,11 +73,11 @@ enum Os {
73 OsOpenBSD,73 OsOpenBSD,
74 OsSolaris,74 OsSolaris,
75 OsWindows,75 OsWindows,
76 OsZOS,
76 OsHaiku,77 OsHaiku,
77 OsMinix,78 OsMinix,
78 OsRTEMS,79 OsRTEMS,
79 OsNaCl, // Native Client80 OsNaCl, // Native Client
80 OsCNK, // BG/P Compute-Node Kernel
81 OsAIX,81 OsAIX,
82 OsCUDA, // NVIDIA CUDA82 OsCUDA, // NVIDIA CUDA
83 OsNVCL, // NVIDIA OpenCL83 OsNVCL, // NVIDIA OpenCL
src/stage1/target.cpp+14-8
...@@ -23,6 +23,7 @@ static const ZigLLVM_ArchType arch_list[] = {...@@ -23,6 +23,7 @@ static const ZigLLVM_ArchType arch_list[] = {
23 ZigLLVM_avr, // AVR: Atmel AVR microcontroller23 ZigLLVM_avr, // AVR: Atmel AVR microcontroller
24 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)24 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)
25 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)25 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
26 ZigLLVM_csky, // CSKY: csky
26 ZigLLVM_hexagon, // Hexagon: hexagon27 ZigLLVM_hexagon, // Hexagon: hexagon
27 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr628 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
28 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el29 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
...@@ -71,8 +72,6 @@ static const ZigLLVM_VendorType vendor_list[] = {...@@ -71,8 +72,6 @@ static const ZigLLVM_VendorType vendor_list[] = {
71 ZigLLVM_Apple,72 ZigLLVM_Apple,
72 ZigLLVM_PC,73 ZigLLVM_PC,
73 ZigLLVM_SCEI,74 ZigLLVM_SCEI,
74 ZigLLVM_BGP,
75 ZigLLVM_BGQ,
76 ZigLLVM_Freescale,75 ZigLLVM_Freescale,
77 ZigLLVM_IBM,76 ZigLLVM_IBM,
78 ZigLLVM_ImaginationTechnologies,77 ZigLLVM_ImaginationTechnologies,
...@@ -101,11 +100,11 @@ static const Os os_list[] = {...@@ -101,11 +100,11 @@ static const Os os_list[] = {
101 OsOpenBSD,100 OsOpenBSD,
102 OsSolaris,101 OsSolaris,
103 OsWindows,102 OsWindows,
103 OsZOS,
104 OsHaiku,104 OsHaiku,
105 OsMinix,105 OsMinix,
106 OsRTEMS,106 OsRTEMS,
107 OsNaCl, // Native Client107 OsNaCl, // Native Client
108 OsCNK, // BG/P Compute-Node Kernel
109 OsAIX,108 OsAIX,
110 OsCUDA, // NVIDIA CUDA109 OsCUDA, // NVIDIA CUDA
111 OsNVCL, // NVIDIA OpenCL110 OsNVCL, // NVIDIA OpenCL
...@@ -155,8 +154,10 @@ static const ZigLLVM_ObjectFormatType oformat_list[] = {...@@ -155,8 +154,10 @@ static const ZigLLVM_ObjectFormatType oformat_list[] = {
155 ZigLLVM_UnknownObjectFormat,154 ZigLLVM_UnknownObjectFormat,
156 ZigLLVM_COFF,155 ZigLLVM_COFF,
157 ZigLLVM_ELF,156 ZigLLVM_ELF,
157 ZigLLVM_GOFF,
158 ZigLLVM_MachO,158 ZigLLVM_MachO,
159 ZigLLVM_Wasm,159 ZigLLVM_Wasm,
160 ZigLLVM_XCOFF,
160};161};
161162
162size_t target_oformat_count(void) {163size_t target_oformat_count(void) {
...@@ -173,6 +174,7 @@ const char *target_oformat_name(ZigLLVM_ObjectFormatType oformat) {...@@ -173,6 +174,7 @@ const char *target_oformat_name(ZigLLVM_ObjectFormatType oformat) {
173 case ZigLLVM_UnknownObjectFormat: return "unknown";174 case ZigLLVM_UnknownObjectFormat: return "unknown";
174 case ZigLLVM_COFF: return "coff";175 case ZigLLVM_COFF: return "coff";
175 case ZigLLVM_ELF: return "elf";176 case ZigLLVM_ELF: return "elf";
177 case ZigLLVM_GOFF: return "goff";
176 case ZigLLVM_MachO: return "macho";178 case ZigLLVM_MachO: return "macho";
177 case ZigLLVM_Wasm: return "wasm";179 case ZigLLVM_Wasm: return "wasm";
178 case ZigLLVM_XCOFF: return "xcoff";180 case ZigLLVM_XCOFF: return "xcoff";
...@@ -240,6 +242,8 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {...@@ -240,6 +242,8 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {
240 case OsWindows:242 case OsWindows:
241 case OsUefi:243 case OsUefi:
242 return ZigLLVM_Win32;244 return ZigLLVM_Win32;
245 case OsZOS:
246 return ZigLLVM_ZOS;
243 case OsHaiku:247 case OsHaiku:
244 return ZigLLVM_Haiku;248 return ZigLLVM_Haiku;
245 case OsMinix:249 case OsMinix:
...@@ -248,8 +252,6 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {...@@ -248,8 +252,6 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {
248 return ZigLLVM_RTEMS;252 return ZigLLVM_RTEMS;
249 case OsNaCl:253 case OsNaCl:
250 return ZigLLVM_NaCl;254 return ZigLLVM_NaCl;
251 case OsCNK:
252 return ZigLLVM_CNK;
253 case OsAIX:255 case OsAIX:
254 return ZigLLVM_AIX;256 return ZigLLVM_AIX;
255 case OsCUDA:257 case OsCUDA:
...@@ -306,11 +308,11 @@ const char *target_os_name(Os os_type) {...@@ -306,11 +308,11 @@ const char *target_os_name(Os os_type) {
306 case OsOpenBSD:308 case OsOpenBSD:
307 case OsSolaris:309 case OsSolaris:
308 case OsWindows:310 case OsWindows:
311 case OsZOS:
309 case OsHaiku:312 case OsHaiku:
310 case OsMinix:313 case OsMinix:
311 case OsRTEMS:314 case OsRTEMS:
312 case OsNaCl: // Native Client315 case OsNaCl: // Native Client
313 case OsCNK: // BG/P Compute-Node Kernel
314 case OsAIX:316 case OsAIX:
315 case OsCUDA: // NVIDIA CUDA317 case OsCUDA: // NVIDIA CUDA
316 case OsNVCL: // NVIDIA OpenCL318 case OsNVCL: // NVIDIA OpenCL
...@@ -501,6 +503,7 @@ uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch) {...@@ -501,6 +503,7 @@ uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch) {
501 case ZigLLVM_wasm32:503 case ZigLLVM_wasm32:
502 case ZigLLVM_renderscript32:504 case ZigLLVM_renderscript32:
503 case ZigLLVM_aarch64_32:505 case ZigLLVM_aarch64_32:
506 case ZigLLVM_csky:
504 return 32;507 return 32;
505508
506 case ZigLLVM_aarch64:509 case ZigLLVM_aarch64:
...@@ -565,6 +568,7 @@ uint32_t target_arch_largest_atomic_bits(ZigLLVM_ArchType arch) {...@@ -565,6 +568,7 @@ uint32_t target_arch_largest_atomic_bits(ZigLLVM_ArchType arch) {
565 case ZigLLVM_shave:568 case ZigLLVM_shave:
566 case ZigLLVM_wasm32:569 case ZigLLVM_wasm32:
567 case ZigLLVM_renderscript32:570 case ZigLLVM_renderscript32:
571 case ZigLLVM_csky:
568 return 32;572 return 32;
569573
570 case ZigLLVM_aarch64:574 case ZigLLVM_aarch64:
...@@ -703,11 +707,11 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) {...@@ -703,11 +707,11 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) {
703 case OsKFreeBSD:707 case OsKFreeBSD:
704 case OsLv2:708 case OsLv2:
705 case OsSolaris:709 case OsSolaris:
710 case OsZOS:
706 case OsHaiku:711 case OsHaiku:
707 case OsMinix:712 case OsMinix:
708 case OsRTEMS:713 case OsRTEMS:
709 case OsNaCl:714 case OsNaCl:
710 case OsCNK:
711 case OsAIX:715 case OsAIX:
712 case OsCUDA:716 case OsCUDA:
713 case OsNVCL:717 case OsNVCL:
...@@ -811,6 +815,7 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {...@@ -811,6 +815,7 @@ const char *arch_stack_pointer_register_name(ZigLLVM_ArchType arch) {
811 case ZigLLVM_avr:815 case ZigLLVM_avr:
812 case ZigLLVM_bpfeb:816 case ZigLLVM_bpfeb:
813 case ZigLLVM_bpfel:817 case ZigLLVM_bpfel:
818 case ZigLLVM_csky:
814 case ZigLLVM_hexagon:819 case ZigLLVM_hexagon:
815 case ZigLLVM_lanai:820 case ZigLLVM_lanai:
816 case ZigLLVM_hsail:821 case ZigLLVM_hsail:
...@@ -865,6 +870,7 @@ bool target_is_arm(const ZigTarget *target) {...@@ -865,6 +870,7 @@ bool target_is_arm(const ZigTarget *target) {
865 case ZigLLVM_avr:870 case ZigLLVM_avr:
866 case ZigLLVM_bpfeb:871 case ZigLLVM_bpfeb:
867 case ZigLLVM_bpfel:872 case ZigLLVM_bpfel:
873 case ZigLLVM_csky:
868 case ZigLLVM_hexagon:874 case ZigLLVM_hexagon:
869 case ZigLLVM_lanai:875 case ZigLLVM_lanai:
870 case ZigLLVM_hsail:876 case ZigLLVM_hsail:
...@@ -948,11 +954,11 @@ ZigLLVM_EnvironmentType target_default_abi(ZigLLVM_ArchType arch, Os os) {...@@ -948,11 +954,11 @@ ZigLLVM_EnvironmentType target_default_abi(ZigLLVM_ArchType arch, Os os) {
948 case OsCloudABI:954 case OsCloudABI:
949 case OsLv2:955 case OsLv2:
950 case OsSolaris:956 case OsSolaris:
957 case OsZOS:
951 case OsHaiku:958 case OsHaiku:
952 case OsMinix:959 case OsMinix:
953 case OsRTEMS:960 case OsRTEMS:
954 case OsNaCl:961 case OsNaCl:
955 case OsCNK:
956 case OsAIX:962 case OsAIX:
957 case OsCUDA:963 case OsCUDA:
958 case OsNVCL:964 case OsNVCL:
src/stage1/zig0.cpp+2-2
...@@ -94,6 +94,8 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) {...@@ -94,6 +94,8 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) {
94 return OsSolaris;94 return OsSolaris;
95 case ZigLLVM_Win32:95 case ZigLLVM_Win32:
96 return OsWindows;96 return OsWindows;
97 case ZigLLVM_ZOS:
98 return OsZOS;
97 case ZigLLVM_Haiku:99 case ZigLLVM_Haiku:
98 return OsHaiku;100 return OsHaiku;
99 case ZigLLVM_Minix:101 case ZigLLVM_Minix:
...@@ -102,8 +104,6 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) {...@@ -102,8 +104,6 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) {
102 return OsRTEMS;104 return OsRTEMS;
103 case ZigLLVM_NaCl:105 case ZigLLVM_NaCl:
104 return OsNaCl;106 return OsNaCl;
105 case ZigLLVM_CNK:
106 return OsCNK;
107 case ZigLLVM_AIX:107 case ZigLLVM_AIX:
108 return OsAIX;108 return OsAIX;
109 case ZigLLVM_CUDA:109 case ZigLLVM_CUDA:
src/target.zig+1-1
...@@ -206,11 +206,11 @@ pub fn osToLLVM(os_tag: std.Target.Os.Tag) llvm.OSType {...@@ -206,11 +206,11 @@ pub fn osToLLVM(os_tag: std.Target.Os.Tag) llvm.OSType {
206 .netbsd => .NetBSD,206 .netbsd => .NetBSD,
207 .openbsd => .OpenBSD,207 .openbsd => .OpenBSD,
208 .solaris => .Solaris,208 .solaris => .Solaris,
209 .zos => .ZOS,
209 .haiku => .Haiku,210 .haiku => .Haiku,
210 .minix => .Minix,211 .minix => .Minix,
211 .rtems => .RTEMS,212 .rtems => .RTEMS,
212 .nacl => .NaCl,213 .nacl => .NaCl,
213 .cnk => .CNK,
214 .aix => .AIX,214 .aix => .AIX,
215 .cuda => .CUDA,215 .cuda => .CUDA,
216 .nvcl => .NVCL,216 .nvcl => .NVCL,
src/type.zig+1-1
...@@ -3236,11 +3236,11 @@ pub const CType = enum {...@@ -3236,11 +3236,11 @@ pub const CType = enum {
3236 .kfreebsd,3236 .kfreebsd,
3237 .lv2,3237 .lv2,
3238 .solaris,3238 .solaris,
3239 .zos,
3239 .haiku,3240 .haiku,
3240 .minix,3241 .minix,
3241 .rtems,3242 .rtems,
3242 .nacl,3243 .nacl,
3243 .cnk,
3244 .aix,3244 .aix,
3245 .cuda,3245 .cuda,
3246 .nvcl,3246 .nvcl,
src/zig_clang.cpp+21-7
...@@ -182,6 +182,8 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {...@@ -182,6 +182,8 @@ void ZigClang_detect_enum_CK(clang::CastKind x) {
182 case clang::CK_IntegralToBoolean:182 case clang::CK_IntegralToBoolean:
183 case clang::CK_IntegralToFloating:183 case clang::CK_IntegralToFloating:
184 case clang::CK_IntegralToPointer:184 case clang::CK_IntegralToPointer:
185 case clang::CK_FloatingToFixedPoint:
186 case clang::CK_FixedPointToFloating:
185 case clang::CK_LValueBitCast:187 case clang::CK_LValueBitCast:
186 case clang::CK_LValueToRValueBitCast:188 case clang::CK_LValueToRValueBitCast:
187 case clang::CK_LValueToRValue:189 case clang::CK_LValueToRValue:
...@@ -237,6 +239,8 @@ static_assert((clang::CastKind)ZigClangCK_VectorSplat == clang::CK_VectorSplat,...@@ -237,6 +239,8 @@ static_assert((clang::CastKind)ZigClangCK_VectorSplat == clang::CK_VectorSplat,
237static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, "");239static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, "");
238static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, "");240static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, "");
239static_assert((clang::CastKind)ZigClangCK_IntegralToFloating == clang::CK_IntegralToFloating, "");241static_assert((clang::CastKind)ZigClangCK_IntegralToFloating == clang::CK_IntegralToFloating, "");
242static_assert((clang::CastKind)ZigClangCK_FloatingToFixedPoint == clang::CK_FloatingToFixedPoint, "");
243static_assert((clang::CastKind)ZigClangCK_FixedPointToFloating == clang::CK_FixedPointToFloating, "");
240static_assert((clang::CastKind)ZigClangCK_FixedPointCast == clang::CK_FixedPointCast, "");244static_assert((clang::CastKind)ZigClangCK_FixedPointCast == clang::CK_FixedPointCast, "");
241static_assert((clang::CastKind)ZigClangCK_FixedPointToIntegral == clang::CK_FixedPointToIntegral, "");245static_assert((clang::CastKind)ZigClangCK_FixedPointToIntegral == clang::CK_FixedPointToIntegral, "");
242static_assert((clang::CastKind)ZigClangCK_IntegralToFixedPoint == clang::CK_IntegralToFixedPoint, "");246static_assert((clang::CastKind)ZigClangCK_IntegralToFixedPoint == clang::CK_IntegralToFixedPoint, "");
...@@ -928,6 +932,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {...@@ -928,6 +932,7 @@ void ZigClang_detect_enum_DeclKind(clang::Decl::Kind x) {
928 case clang::Decl::MSGuid:932 case clang::Decl::MSGuid:
929 case clang::Decl::OMPDeclareMapper:933 case clang::Decl::OMPDeclareMapper:
930 case clang::Decl::OMPDeclareReduction:934 case clang::Decl::OMPDeclareReduction:
935 case clang::Decl::TemplateParamObject:
931 case clang::Decl::UnresolvedUsingValue:936 case clang::Decl::UnresolvedUsingValue:
932 case clang::Decl::OMPAllocate:937 case clang::Decl::OMPAllocate:
933 case clang::Decl::OMPRequires:938 case clang::Decl::OMPRequires:
...@@ -1013,6 +1018,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::Indir...@@ -1013,6 +1018,7 @@ static_assert((clang::Decl::Kind)ZigClangDeclIndirectField == clang::Decl::Indir
1013static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");1018static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, "");
1014static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");1019static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, "");
1015static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");1020static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, "");
1021static_assert((clang::Decl::Kind)ZigClangDeclTemplateParamObject == clang::Decl::TemplateParamObject, "");
1016static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");1022static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, "");
1017static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, "");1023static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, "");
1018static_assert((clang::Decl::Kind)ZigClangDeclOMPThreadPrivate == clang::Decl::OMPThreadPrivate, "");1024static_assert((clang::Decl::Kind)ZigClangDeclOMPThreadPrivate == clang::Decl::OMPThreadPrivate, "");
...@@ -1122,6 +1128,8 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {...@@ -1122,6 +1128,8 @@ void ZigClang_detect_enum_BuiltinTypeKind(clang::BuiltinType::Kind x) {
1122 case clang::BuiltinType::SveFloat64x4:1128 case clang::BuiltinType::SveFloat64x4:
1123 case clang::BuiltinType::SveBFloat16x4:1129 case clang::BuiltinType::SveBFloat16x4:
1124 case clang::BuiltinType::SveBool:1130 case clang::BuiltinType::SveBool:
1131 case clang::BuiltinType::VectorQuad:
1132 case clang::BuiltinType::VectorPair:
1125 case clang::BuiltinType::Void:1133 case clang::BuiltinType::Void:
1126 case clang::BuiltinType::Bool:1134 case clang::BuiltinType::Bool:
1127 case clang::BuiltinType::Char_U:1135 case clang::BuiltinType::Char_U:
...@@ -1295,6 +1303,8 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang...@@ -1295,6 +1303,8 @@ static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat32x4 == clang
1295static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");1303static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, "");
1296static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");1304static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, "");
1297static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");1305static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, "");
1306static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, "");
1307static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, "");
1298static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");1308static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, "");
1299static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");1309static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, "");
1300static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");1310static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, "");
...@@ -1517,15 +1527,19 @@ static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_...@@ -1517,15 +1527,19 @@ static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_
1517static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_InclusionDirectiveKind == clang::PreprocessedEntity::InclusionDirectiveKind, "");1527static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_InclusionDirectiveKind == clang::PreprocessedEntity::InclusionDirectiveKind, "");
15181528
15191529
1520void ZigClang_detect_enum_ConstExprUsage(clang::Expr::ConstExprUsage x) {1530void ZigClang_detect_enum_ConstantExprKind(clang::Expr::ConstantExprKind x) {
1521 switch (x) {1531 switch (x) {
1522 case clang::Expr::EvaluateForCodeGen:1532 case clang::Expr::ConstantExprKind::Normal:
1523 case clang::Expr::EvaluateForMangling:1533 case clang::Expr::ConstantExprKind::NonClassTemplateArgument:
1534 case clang::Expr::ConstantExprKind::ClassTemplateArgument:
1535 case clang::Expr::ConstantExprKind::ImmediateInvocation:
1524 break;1536 break;
1525 }1537 }
1526}1538}
1527static_assert((clang::Expr::ConstExprUsage)ZigClangExpr_EvaluateForCodeGen == clang::Expr::EvaluateForCodeGen, "");1539static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_Normal == clang::Expr::ConstantExprKind::Normal, "");
1528static_assert((clang::Expr::ConstExprUsage)ZigClangExpr_EvaluateForMangling == clang::Expr::EvaluateForMangling, "");1540static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_NonClassTemplateArgument == clang::Expr::ConstantExprKind::NonClassTemplateArgument, "");
1541static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_ClassTemplateArgument == clang::Expr::ConstantExprKind::ClassTemplateArgument, "");
1542static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_ImmediateInvocation == clang::Expr::ConstantExprKind::ImmediateInvocation, "");
15291543
15301544
1531static_assert(sizeof(ZigClangAPValue) == sizeof(clang::APValue), "");1545static_assert(sizeof(ZigClangAPValue) == sizeof(clang::APValue), "");
...@@ -2143,12 +2157,12 @@ bool ZigClangExpr_EvaluateAsFloat(const ZigClangExpr *self, ZigClangAPFloat **re...@@ -2143,12 +2157,12 @@ bool ZigClangExpr_EvaluateAsFloat(const ZigClangExpr *self, ZigClangAPFloat **re
2143}2157}
21442158
2145bool ZigClangExpr_EvaluateAsConstantExpr(const ZigClangExpr *self, ZigClangExprEvalResult *result,2159bool ZigClangExpr_EvaluateAsConstantExpr(const ZigClangExpr *self, ZigClangExprEvalResult *result,
2146 ZigClangExpr_ConstExprUsage usage, const struct ZigClangASTContext *ctx)2160 ZigClangExpr_ConstantExprKind kind, const struct ZigClangASTContext *ctx)
2147{2161{
2148 auto casted_self = reinterpret_cast<const clang::Expr *>(self);2162 auto casted_self = reinterpret_cast<const clang::Expr *>(self);
2149 auto casted_ctx = reinterpret_cast<const clang::ASTContext *>(ctx);2163 auto casted_ctx = reinterpret_cast<const clang::ASTContext *>(ctx);
2150 clang::Expr::EvalResult eval_result;2164 clang::Expr::EvalResult eval_result;
2151 if (!casted_self->EvaluateAsConstantExpr(eval_result, (clang::Expr::ConstExprUsage)usage, *casted_ctx)) {2165 if (!casted_self->EvaluateAsConstantExpr(eval_result, *casted_ctx, (clang::Expr::ConstantExprKind)kind)) {
2152 return false;2166 return false;
2153 }2167 }
2154 *result = bitcast(eval_result);2168 *result = bitcast(eval_result);
src/zig_clang.h+11-4
...@@ -523,6 +523,8 @@ enum ZigClangCK {...@@ -523,6 +523,8 @@ enum ZigClangCK {
523 ZigClangCK_IntegralCast,523 ZigClangCK_IntegralCast,
524 ZigClangCK_IntegralToBoolean,524 ZigClangCK_IntegralToBoolean,
525 ZigClangCK_IntegralToFloating,525 ZigClangCK_IntegralToFloating,
526 ZigClangCK_FloatingToFixedPoint,
527 ZigClangCK_FixedPointToFloating,
526 ZigClangCK_FixedPointCast,528 ZigClangCK_FixedPointCast,
527 ZigClangCK_FixedPointToIntegral,529 ZigClangCK_FixedPointToIntegral,
528 ZigClangCK_IntegralToFixedPoint,530 ZigClangCK_IntegralToFixedPoint,
...@@ -629,6 +631,7 @@ enum ZigClangDeclKind {...@@ -629,6 +631,7 @@ enum ZigClangDeclKind {
629 ZigClangDeclMSGuid,631 ZigClangDeclMSGuid,
630 ZigClangDeclOMPDeclareMapper,632 ZigClangDeclOMPDeclareMapper,
631 ZigClangDeclOMPDeclareReduction,633 ZigClangDeclOMPDeclareReduction,
634 ZigClangDeclTemplateParamObject,
632 ZigClangDeclUnresolvedUsingValue,635 ZigClangDeclUnresolvedUsingValue,
633 ZigClangDeclOMPAllocate,636 ZigClangDeclOMPAllocate,
634 ZigClangDeclOMPRequires,637 ZigClangDeclOMPRequires,
...@@ -739,6 +742,8 @@ enum ZigClangBuiltinTypeKind {...@@ -739,6 +742,8 @@ enum ZigClangBuiltinTypeKind {
739 ZigClangBuiltinTypeSveFloat64x4,742 ZigClangBuiltinTypeSveFloat64x4,
740 ZigClangBuiltinTypeSveBFloat16x4,743 ZigClangBuiltinTypeSveBFloat16x4,
741 ZigClangBuiltinTypeSveBool,744 ZigClangBuiltinTypeSveBool,
745 ZigClangBuiltinTypeVectorQuad,
746 ZigClangBuiltinTypeVectorPair,
742 ZigClangBuiltinTypeVoid,747 ZigClangBuiltinTypeVoid,
743 ZigClangBuiltinTypeBool,748 ZigClangBuiltinTypeBool,
744 ZigClangBuiltinTypeChar_U,749 ZigClangBuiltinTypeChar_U,
...@@ -897,9 +902,11 @@ enum ZigClangPreprocessedEntity_EntityKind {...@@ -897,9 +902,11 @@ enum ZigClangPreprocessedEntity_EntityKind {
897 ZigClangPreprocessedEntity_InclusionDirectiveKind,902 ZigClangPreprocessedEntity_InclusionDirectiveKind,
898};903};
899904
900enum ZigClangExpr_ConstExprUsage {905enum ZigClangExpr_ConstantExprKind {
901 ZigClangExpr_EvaluateForCodeGen,906 ZigClangExpr_ContantExprKind_Normal,
902 ZigClangExpr_EvaluateForMangling,907 ZigClangExpr_ContantExprKind_NonClassTemplateArgument,
908 ZigClangExpr_ContantExprKind_ClassTemplateArgument,
909 ZigClangExpr_ContantExprKind_ImmediateInvocation,
903};910};
904911
905enum ZigClangUnaryExprOrTypeTrait_Kind {912enum ZigClangUnaryExprOrTypeTrait_Kind {
...@@ -1058,7 +1065,7 @@ ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsBooleanCondition(const struct ZigClangE...@@ -1058,7 +1065,7 @@ ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsBooleanCondition(const struct ZigClangE
1058ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsFloat(const struct ZigClangExpr *self,1065ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsFloat(const struct ZigClangExpr *self,
1059 ZigClangAPFloat **result, const struct ZigClangASTContext *ctx);1066 ZigClangAPFloat **result, const struct ZigClangASTContext *ctx);
1060ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsConstantExpr(const struct ZigClangExpr *,1067ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsConstantExpr(const struct ZigClangExpr *,
1061 struct ZigClangExprEvalResult *, ZigClangExpr_ConstExprUsage, const struct ZigClangASTContext *);1068 struct ZigClangExprEvalResult *, ZigClangExpr_ConstantExprKind, const struct ZigClangASTContext *);
10621069
1063ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getInit(const ZigClangInitListExpr *, unsigned);1070ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getInit(const ZigClangInitListExpr *, unsigned);
1064ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getArrayFiller(const ZigClangInitListExpr *);1071ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getArrayFiller(const ZigClangInitListExpr *);
src/zig_llvm.cpp+8-6
...@@ -600,8 +600,9 @@ void ZigLLVMDisposeDIBuilder(ZigLLVMDIBuilder *dbuilder) {...@@ -600,8 +600,9 @@ void ZigLLVMDisposeDIBuilder(ZigLLVMDIBuilder *dbuilder) {
600}600}
601601
602void ZigLLVMSetCurrentDebugLocation(LLVMBuilderRef builder, int line, int column, ZigLLVMDIScope *scope) {602void ZigLLVMSetCurrentDebugLocation(LLVMBuilderRef builder, int line, int column, ZigLLVMDIScope *scope) {
603 unwrap(builder)->SetCurrentDebugLocation(DebugLoc::get(603 DIScope* di_scope = reinterpret_cast<DIScope*>(scope);
604 line, column, reinterpret_cast<DIScope*>(scope)));604 DebugLoc debug_loc = DILocation::get(di_scope->getContext(), line, column, di_scope, nullptr, false);
605 unwrap(builder)->SetCurrentDebugLocation(debug_loc);
605}606}
606607
607void ZigLLVMClearCurrentDebugLocation(LLVMBuilderRef builder) {608void ZigLLVMClearCurrentDebugLocation(LLVMBuilderRef builder) {
...@@ -762,7 +763,8 @@ LLVMValueRef ZigLLVMInsertDeclare(ZigLLVMDIBuilder *dibuilder, LLVMValueRef stor...@@ -762,7 +763,8 @@ LLVMValueRef ZigLLVMInsertDeclare(ZigLLVMDIBuilder *dibuilder, LLVMValueRef stor
762}763}
763764
764ZigLLVMDILocation *ZigLLVMGetDebugLoc(unsigned line, unsigned col, ZigLLVMDIScope *scope) {765ZigLLVMDILocation *ZigLLVMGetDebugLoc(unsigned line, unsigned col, ZigLLVMDIScope *scope) {
765 DebugLoc debug_loc = DebugLoc::get(line, col, reinterpret_cast<DIScope*>(scope), nullptr);766 DIScope* di_scope = reinterpret_cast<DIScope*>(scope);
767 DebugLoc debug_loc = DILocation::get(di_scope->getContext(), line, col, di_scope, nullptr, false);
766 return reinterpret_cast<ZigLLVMDILocation*>(debug_loc.get());768 return reinterpret_cast<ZigLLVMDILocation*>(debug_loc.get());
767}769}
768770
...@@ -1180,6 +1182,7 @@ static_assert((Triple::ArchType)ZigLLVM_arc == Triple::arc, "");...@@ -1180,6 +1182,7 @@ static_assert((Triple::ArchType)ZigLLVM_arc == Triple::arc, "");
1180static_assert((Triple::ArchType)ZigLLVM_avr == Triple::avr, "");1182static_assert((Triple::ArchType)ZigLLVM_avr == Triple::avr, "");
1181static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, "");1183static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, "");
1182static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, "");1184static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, "");
1185static_assert((Triple::ArchType)ZigLLVM_csky == Triple::csky, "");
1183static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, "");1186static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, "");
1184static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, "");1187static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, "");
1185static_assert((Triple::ArchType)ZigLLVM_mipsel == Triple::mipsel, "");1188static_assert((Triple::ArchType)ZigLLVM_mipsel == Triple::mipsel, "");
...@@ -1228,8 +1231,6 @@ static_assert((Triple::VendorType)ZigLLVM_UnknownVendor == Triple::UnknownVendor...@@ -1228,8 +1231,6 @@ static_assert((Triple::VendorType)ZigLLVM_UnknownVendor == Triple::UnknownVendor
1228static_assert((Triple::VendorType)ZigLLVM_Apple == Triple::Apple, "");1231static_assert((Triple::VendorType)ZigLLVM_Apple == Triple::Apple, "");
1229static_assert((Triple::VendorType)ZigLLVM_PC == Triple::PC, "");1232static_assert((Triple::VendorType)ZigLLVM_PC == Triple::PC, "");
1230static_assert((Triple::VendorType)ZigLLVM_SCEI == Triple::SCEI, "");1233static_assert((Triple::VendorType)ZigLLVM_SCEI == Triple::SCEI, "");
1231static_assert((Triple::VendorType)ZigLLVM_BGP == Triple::BGP, "");
1232static_assert((Triple::VendorType)ZigLLVM_BGQ == Triple::BGQ, "");
1233static_assert((Triple::VendorType)ZigLLVM_Freescale == Triple::Freescale, "");1234static_assert((Triple::VendorType)ZigLLVM_Freescale == Triple::Freescale, "");
1234static_assert((Triple::VendorType)ZigLLVM_IBM == Triple::IBM, "");1235static_assert((Triple::VendorType)ZigLLVM_IBM == Triple::IBM, "");
1235static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::ImaginationTechnologies, "");1236static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::ImaginationTechnologies, "");
...@@ -1261,11 +1262,11 @@ static_assert((Triple::OSType)ZigLLVM_NetBSD == Triple::NetBSD, "");...@@ -1261,11 +1262,11 @@ static_assert((Triple::OSType)ZigLLVM_NetBSD == Triple::NetBSD, "");
1261static_assert((Triple::OSType)ZigLLVM_OpenBSD == Triple::OpenBSD, "");1262static_assert((Triple::OSType)ZigLLVM_OpenBSD == Triple::OpenBSD, "");
1262static_assert((Triple::OSType)ZigLLVM_Solaris == Triple::Solaris, "");1263static_assert((Triple::OSType)ZigLLVM_Solaris == Triple::Solaris, "");
1263static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, "");1264static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, "");
1265static_assert((Triple::OSType)ZigLLVM_ZOS == Triple::ZOS, "");
1264static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, "");1266static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, "");
1265static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, "");1267static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, "");
1266static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, "");1268static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, "");
1267static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, "");1269static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, "");
1268static_assert((Triple::OSType)ZigLLVM_CNK == Triple::CNK, "");
1269static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, "");1270static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, "");
1270static_assert((Triple::OSType)ZigLLVM_CUDA == Triple::CUDA, "");1271static_assert((Triple::OSType)ZigLLVM_CUDA == Triple::CUDA, "");
1271static_assert((Triple::OSType)ZigLLVM_NVCL == Triple::NVCL, "");1272static_assert((Triple::OSType)ZigLLVM_NVCL == Triple::NVCL, "");
...@@ -1308,6 +1309,7 @@ static_assert((Triple::EnvironmentType)ZigLLVM_LastEnvironmentType == Triple::La...@@ -1308,6 +1309,7 @@ static_assert((Triple::EnvironmentType)ZigLLVM_LastEnvironmentType == Triple::La
1308static_assert((Triple::ObjectFormatType)ZigLLVM_UnknownObjectFormat == Triple::UnknownObjectFormat, "");1309static_assert((Triple::ObjectFormatType)ZigLLVM_UnknownObjectFormat == Triple::UnknownObjectFormat, "");
1309static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, "");1310static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, "");
1310static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, "");1311static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, "");
1312static_assert((Triple::ObjectFormatType)ZigLLVM_GOFF == Triple::GOFF, "");
1311static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, "");1313static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, "");
1312static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, "");1314static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, "");
1313static_assert((Triple::ObjectFormatType)ZigLLVM_XCOFF == Triple::XCOFF, "");1315static_assert((Triple::ObjectFormatType)ZigLLVM_XCOFF == Triple::XCOFF, "");
src/zig_llvm.h+3-3
...@@ -288,6 +288,7 @@ enum ZigLLVM_ArchType {...@@ -288,6 +288,7 @@ enum ZigLLVM_ArchType {
288 ZigLLVM_avr, // AVR: Atmel AVR microcontroller288 ZigLLVM_avr, // AVR: Atmel AVR microcontroller
289 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)289 ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)
290 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)290 ZigLLVM_bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
291 ZigLLVM_csky, // CSKY: csky
291 ZigLLVM_hexagon, // Hexagon: hexagon292 ZigLLVM_hexagon, // Hexagon: hexagon
292 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6293 ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6
293 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el294 ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el
...@@ -340,8 +341,6 @@ enum ZigLLVM_VendorType {...@@ -340,8 +341,6 @@ enum ZigLLVM_VendorType {
340 ZigLLVM_Apple,341 ZigLLVM_Apple,
341 ZigLLVM_PC,342 ZigLLVM_PC,
342 ZigLLVM_SCEI,343 ZigLLVM_SCEI,
343 ZigLLVM_BGP,
344 ZigLLVM_BGQ,
345 ZigLLVM_Freescale,344 ZigLLVM_Freescale,
346 ZigLLVM_IBM,345 ZigLLVM_IBM,
347 ZigLLVM_ImaginationTechnologies,346 ZigLLVM_ImaginationTechnologies,
...@@ -375,11 +374,11 @@ enum ZigLLVM_OSType {...@@ -375,11 +374,11 @@ enum ZigLLVM_OSType {
375 ZigLLVM_OpenBSD,374 ZigLLVM_OpenBSD,
376 ZigLLVM_Solaris,375 ZigLLVM_Solaris,
377 ZigLLVM_Win32,376 ZigLLVM_Win32,
377 ZigLLVM_ZOS,
378 ZigLLVM_Haiku,378 ZigLLVM_Haiku,
379 ZigLLVM_Minix,379 ZigLLVM_Minix,
380 ZigLLVM_RTEMS,380 ZigLLVM_RTEMS,
381 ZigLLVM_NaCl, // Native Client381 ZigLLVM_NaCl, // Native Client
382 ZigLLVM_CNK, // BG/P Compute-Node Kernel
383 ZigLLVM_AIX,382 ZigLLVM_AIX,
384 ZigLLVM_CUDA, // NVIDIA CUDA383 ZigLLVM_CUDA, // NVIDIA CUDA
385 ZigLLVM_NVCL, // NVIDIA OpenCL384 ZigLLVM_NVCL, // NVIDIA OpenCL
...@@ -432,6 +431,7 @@ enum ZigLLVM_ObjectFormatType {...@@ -432,6 +431,7 @@ enum ZigLLVM_ObjectFormatType {
432431
433 ZigLLVM_COFF,432 ZigLLVM_COFF,
434 ZigLLVM_ELF,433 ZigLLVM_ELF,
434 ZigLLVM_GOFF,
435 ZigLLVM_MachO,435 ZigLLVM_MachO,
436 ZigLLVM_Wasm,436 ZigLLVM_Wasm,
437 ZigLLVM_XCOFF,437 ZigLLVM_XCOFF,