| author | |
| committer | |
| log | 1c40a4df094132db952157bf28253ed80646ea00 |
| tree | 2aa86028c4a8ae0ccc324ad1e60b34891487e5d4 |
| parent | 6f3ed2f71f3548b399214f604d820cd2dd2887f3 |
Include updates to corresponding zig sources
llvm commit b2851aea80e5a8f0cfd6c3c5a56a6b00fb28c6b613 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, or | 1467 | // 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 | }; |
| 130 | 132 | ||
| 131 | pub const ParseCommandLineOptions = ZigLLVMParseCommandLineOptions; | 133 | pub 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 Client | 80 | OsNaCl, // Native Client |
| 80 | OsCNK, // BG/P Compute-Node Kernel | ||
| 81 | OsAIX, | 81 | OsAIX, |
| 82 | OsCUDA, // NVIDIA CUDA | 82 | OsCUDA, // NVIDIA CUDA |
| 83 | OsNVCL, // NVIDIA OpenCL | 83 | 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 microcontroller | 23 | 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: hexagon | 27 | ZigLLVM_hexagon, // Hexagon: hexagon |
| 27 | ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6 | 28 | ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6 |
| 28 | ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el | 29 | 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 Client | 107 | OsNaCl, // Native Client |
| 108 | OsCNK, // BG/P Compute-Node Kernel | ||
| 109 | OsAIX, | 108 | OsAIX, |
| 110 | OsCUDA, // NVIDIA CUDA | 109 | OsCUDA, // NVIDIA CUDA |
| 111 | OsNVCL, // NVIDIA OpenCL | 110 | 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 | }; |
| 161 | 162 | ||
| 162 | size_t target_oformat_count(void) { | 163 | size_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 Client | 315 | case OsNaCl: // Native Client |
| 313 | case OsCNK: // BG/P Compute-Node Kernel | ||
| 314 | case OsAIX: | 316 | case OsAIX: |
| 315 | case OsCUDA: // NVIDIA CUDA | 317 | case OsCUDA: // NVIDIA CUDA |
| 316 | case OsNVCL: // NVIDIA OpenCL | 318 | 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; |
| 505 | 508 | ||
| 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; |
| 569 | 573 | ||
| 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, |
| 237 | static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, ""); | 239 | static_assert((clang::CastKind)ZigClangCK_IntegralCast == clang::CK_IntegralCast, ""); |
| 238 | static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, ""); | 240 | static_assert((clang::CastKind)ZigClangCK_IntegralToBoolean == clang::CK_IntegralToBoolean, ""); |
| 239 | static_assert((clang::CastKind)ZigClangCK_IntegralToFloating == clang::CK_IntegralToFloating, ""); | 241 | static_assert((clang::CastKind)ZigClangCK_IntegralToFloating == clang::CK_IntegralToFloating, ""); |
| 242 | static_assert((clang::CastKind)ZigClangCK_FloatingToFixedPoint == clang::CK_FloatingToFixedPoint, ""); | ||
| 243 | static_assert((clang::CastKind)ZigClangCK_FixedPointToFloating == clang::CK_FixedPointToFloating, ""); | ||
| 240 | static_assert((clang::CastKind)ZigClangCK_FixedPointCast == clang::CK_FixedPointCast, ""); | 244 | static_assert((clang::CastKind)ZigClangCK_FixedPointCast == clang::CK_FixedPointCast, ""); |
| 241 | static_assert((clang::CastKind)ZigClangCK_FixedPointToIntegral == clang::CK_FixedPointToIntegral, ""); | 245 | static_assert((clang::CastKind)ZigClangCK_FixedPointToIntegral == clang::CK_FixedPointToIntegral, ""); |
| 242 | static_assert((clang::CastKind)ZigClangCK_IntegralToFixedPoint == clang::CK_IntegralToFixedPoint, ""); | 246 | static_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 |
| 1013 | static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, ""); | 1018 | static_assert((clang::Decl::Kind)ZigClangDeclMSGuid == clang::Decl::MSGuid, ""); |
| 1014 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, ""); | 1019 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareMapper == clang::Decl::OMPDeclareMapper, ""); |
| 1015 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, ""); | 1020 | static_assert((clang::Decl::Kind)ZigClangDeclOMPDeclareReduction == clang::Decl::OMPDeclareReduction, ""); |
| 1021 | static_assert((clang::Decl::Kind)ZigClangDeclTemplateParamObject == clang::Decl::TemplateParamObject, ""); | ||
| 1016 | static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, ""); | 1022 | static_assert((clang::Decl::Kind)ZigClangDeclUnresolvedUsingValue == clang::Decl::UnresolvedUsingValue, ""); |
| 1017 | static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, ""); | 1023 | static_assert((clang::Decl::Kind)ZigClangDeclOMPRequires == clang::Decl::OMPRequires, ""); |
| 1018 | static_assert((clang::Decl::Kind)ZigClangDeclOMPThreadPrivate == clang::Decl::OMPThreadPrivate, ""); | 1024 | static_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 |
| 1295 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, ""); | 1303 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveFloat64x4 == clang::BuiltinType::SveFloat64x4, ""); |
| 1296 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, ""); | 1304 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBFloat16x4 == clang::BuiltinType::SveBFloat16x4, ""); |
| 1297 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, ""); | 1305 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeSveBool == clang::BuiltinType::SveBool, ""); |
| 1306 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorQuad == clang::BuiltinType::VectorQuad, ""); | ||
| 1307 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVectorPair == clang::BuiltinType::VectorPair, ""); | ||
| 1298 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, ""); | 1308 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeVoid == clang::BuiltinType::Void, ""); |
| 1299 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, ""); | 1309 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeBool == clang::BuiltinType::Bool, ""); |
| 1300 | static_assert((clang::BuiltinType::Kind)ZigClangBuiltinTypeChar_U == clang::BuiltinType::Char_U, ""); | 1310 | static_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_ |
| 1517 | static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_InclusionDirectiveKind == clang::PreprocessedEntity::InclusionDirectiveKind, ""); | 1527 | static_assert((clang::PreprocessedEntity::EntityKind)ZigClangPreprocessedEntity_InclusionDirectiveKind == clang::PreprocessedEntity::InclusionDirectiveKind, ""); |
| 1518 | 1528 | ||
| 1519 | 1529 | ||
| 1520 | void ZigClang_detect_enum_ConstExprUsage(clang::Expr::ConstExprUsage x) { | 1530 | void 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 | } |
| 1527 | static_assert((clang::Expr::ConstExprUsage)ZigClangExpr_EvaluateForCodeGen == clang::Expr::EvaluateForCodeGen, ""); | 1539 | static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_Normal == clang::Expr::ConstantExprKind::Normal, ""); |
| 1528 | static_assert((clang::Expr::ConstExprUsage)ZigClangExpr_EvaluateForMangling == clang::Expr::EvaluateForMangling, ""); | 1540 | static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_NonClassTemplateArgument == clang::Expr::ConstantExprKind::NonClassTemplateArgument, ""); |
| 1541 | static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_ClassTemplateArgument == clang::Expr::ConstantExprKind::ClassTemplateArgument, ""); | ||
| 1542 | static_assert((clang::Expr::ConstantExprKind)ZigClangExpr_ContantExprKind_ImmediateInvocation == clang::Expr::ConstantExprKind::ImmediateInvocation, ""); | ||
| 1529 | 1543 | ||
| 1530 | 1544 | ||
| 1531 | static_assert(sizeof(ZigClangAPValue) == sizeof(clang::APValue), ""); | 1545 | static_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 | } |
| 2144 | 2158 | ||
| 2145 | bool ZigClangExpr_EvaluateAsConstantExpr(const ZigClangExpr *self, ZigClangExprEvalResult *result, | 2159 | bool 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 | }; |
| 899 | 904 | ||
| 900 | enum ZigClangExpr_ConstExprUsage { | 905 | enum 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 | }; |
| 904 | 911 | ||
| 905 | enum ZigClangUnaryExprOrTypeTrait_Kind { | 912 | enum 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 |
| 1058 | ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsFloat(const struct ZigClangExpr *self, | 1065 | ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsFloat(const struct ZigClangExpr *self, |
| 1059 | ZigClangAPFloat **result, const struct ZigClangASTContext *ctx); | 1066 | ZigClangAPFloat **result, const struct ZigClangASTContext *ctx); |
| 1060 | ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsConstantExpr(const struct ZigClangExpr *, | 1067 | ZIG_EXTERN_C bool ZigClangExpr_EvaluateAsConstantExpr(const struct ZigClangExpr *, |
| 1061 | struct ZigClangExprEvalResult *, ZigClangExpr_ConstExprUsage, const struct ZigClangASTContext *); | 1068 | struct ZigClangExprEvalResult *, ZigClangExpr_ConstantExprKind, const struct ZigClangASTContext *); |
| 1062 | 1069 | ||
| 1063 | ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getInit(const ZigClangInitListExpr *, unsigned); | 1070 | ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getInit(const ZigClangInitListExpr *, unsigned); |
| 1064 | ZIG_EXTERN_C const ZigClangExpr *ZigClangInitListExpr_getArrayFiller(const ZigClangInitListExpr *); | 1071 | ZIG_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 | } |
| 601 | 601 | ||
| 602 | void ZigLLVMSetCurrentDebugLocation(LLVMBuilderRef builder, int line, int column, ZigLLVMDIScope *scope) { | 602 | void 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 | } |
| 606 | 607 | ||
| 607 | void ZigLLVMClearCurrentDebugLocation(LLVMBuilderRef builder) { | 608 | void 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 | } |
| 763 | 764 | ||
| 764 | ZigLLVMDILocation *ZigLLVMGetDebugLoc(unsigned line, unsigned col, ZigLLVMDIScope *scope) { | 765 | ZigLLVMDILocation *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 | } |
| 768 | 770 | ||
| ... | @@ -1180,6 +1182,7 @@ static_assert((Triple::ArchType)ZigLLVM_arc == Triple::arc, ""); | ... | @@ -1180,6 +1182,7 @@ static_assert((Triple::ArchType)ZigLLVM_arc == Triple::arc, ""); |
| 1180 | static_assert((Triple::ArchType)ZigLLVM_avr == Triple::avr, ""); | 1182 | static_assert((Triple::ArchType)ZigLLVM_avr == Triple::avr, ""); |
| 1181 | static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, ""); | 1183 | static_assert((Triple::ArchType)ZigLLVM_bpfel == Triple::bpfel, ""); |
| 1182 | static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, ""); | 1184 | static_assert((Triple::ArchType)ZigLLVM_bpfeb == Triple::bpfeb, ""); |
| 1185 | static_assert((Triple::ArchType)ZigLLVM_csky == Triple::csky, ""); | ||
| 1183 | static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, ""); | 1186 | static_assert((Triple::ArchType)ZigLLVM_hexagon == Triple::hexagon, ""); |
| 1184 | static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, ""); | 1187 | static_assert((Triple::ArchType)ZigLLVM_mips == Triple::mips, ""); |
| 1185 | static_assert((Triple::ArchType)ZigLLVM_mipsel == Triple::mipsel, ""); | 1188 | static_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 |
| 1228 | static_assert((Triple::VendorType)ZigLLVM_Apple == Triple::Apple, ""); | 1231 | static_assert((Triple::VendorType)ZigLLVM_Apple == Triple::Apple, ""); |
| 1229 | static_assert((Triple::VendorType)ZigLLVM_PC == Triple::PC, ""); | 1232 | static_assert((Triple::VendorType)ZigLLVM_PC == Triple::PC, ""); |
| 1230 | static_assert((Triple::VendorType)ZigLLVM_SCEI == Triple::SCEI, ""); | 1233 | static_assert((Triple::VendorType)ZigLLVM_SCEI == Triple::SCEI, ""); |
| 1231 | static_assert((Triple::VendorType)ZigLLVM_BGP == Triple::BGP, ""); | ||
| 1232 | static_assert((Triple::VendorType)ZigLLVM_BGQ == Triple::BGQ, ""); | ||
| 1233 | static_assert((Triple::VendorType)ZigLLVM_Freescale == Triple::Freescale, ""); | 1234 | static_assert((Triple::VendorType)ZigLLVM_Freescale == Triple::Freescale, ""); |
| 1234 | static_assert((Triple::VendorType)ZigLLVM_IBM == Triple::IBM, ""); | 1235 | static_assert((Triple::VendorType)ZigLLVM_IBM == Triple::IBM, ""); |
| 1235 | static_assert((Triple::VendorType)ZigLLVM_ImaginationTechnologies == Triple::ImaginationTechnologies, ""); | 1236 | static_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, ""); |
| 1261 | static_assert((Triple::OSType)ZigLLVM_OpenBSD == Triple::OpenBSD, ""); | 1262 | static_assert((Triple::OSType)ZigLLVM_OpenBSD == Triple::OpenBSD, ""); |
| 1262 | static_assert((Triple::OSType)ZigLLVM_Solaris == Triple::Solaris, ""); | 1263 | static_assert((Triple::OSType)ZigLLVM_Solaris == Triple::Solaris, ""); |
| 1263 | static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, ""); | 1264 | static_assert((Triple::OSType)ZigLLVM_Win32 == Triple::Win32, ""); |
| 1265 | static_assert((Triple::OSType)ZigLLVM_ZOS == Triple::ZOS, ""); | ||
| 1264 | static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, ""); | 1266 | static_assert((Triple::OSType)ZigLLVM_Haiku == Triple::Haiku, ""); |
| 1265 | static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, ""); | 1267 | static_assert((Triple::OSType)ZigLLVM_Minix == Triple::Minix, ""); |
| 1266 | static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, ""); | 1268 | static_assert((Triple::OSType)ZigLLVM_RTEMS == Triple::RTEMS, ""); |
| 1267 | static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, ""); | 1269 | static_assert((Triple::OSType)ZigLLVM_NaCl == Triple::NaCl, ""); |
| 1268 | static_assert((Triple::OSType)ZigLLVM_CNK == Triple::CNK, ""); | ||
| 1269 | static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, ""); | 1270 | static_assert((Triple::OSType)ZigLLVM_AIX == Triple::AIX, ""); |
| 1270 | static_assert((Triple::OSType)ZigLLVM_CUDA == Triple::CUDA, ""); | 1271 | static_assert((Triple::OSType)ZigLLVM_CUDA == Triple::CUDA, ""); |
| 1271 | static_assert((Triple::OSType)ZigLLVM_NVCL == Triple::NVCL, ""); | 1272 | static_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 |
| 1308 | static_assert((Triple::ObjectFormatType)ZigLLVM_UnknownObjectFormat == Triple::UnknownObjectFormat, ""); | 1309 | static_assert((Triple::ObjectFormatType)ZigLLVM_UnknownObjectFormat == Triple::UnknownObjectFormat, ""); |
| 1309 | static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, ""); | 1310 | static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, ""); |
| 1310 | static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, ""); | 1311 | static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, ""); |
| 1312 | static_assert((Triple::ObjectFormatType)ZigLLVM_GOFF == Triple::GOFF, ""); | ||
| 1311 | static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, ""); | 1313 | static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, ""); |
| 1312 | static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, ""); | 1314 | static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, ""); |
| 1313 | static_assert((Triple::ObjectFormatType)ZigLLVM_XCOFF == Triple::XCOFF, ""); | 1315 | static_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 microcontroller | 288 | 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: hexagon | 292 | ZigLLVM_hexagon, // Hexagon: hexagon |
| 292 | ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6 | 293 | ZigLLVM_mips, // MIPS: mips, mipsallegrex, mipsr6 |
| 293 | ZigLLVM_mipsel, // MIPSEL: mipsel, mipsallegrexe, mipsr6el | 294 | 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 Client | 381 | ZigLLVM_NaCl, // Native Client |
| 382 | ZigLLVM_CNK, // BG/P Compute-Node Kernel | ||
| 383 | ZigLLVM_AIX, | 382 | ZigLLVM_AIX, |
| 384 | ZigLLVM_CUDA, // NVIDIA CUDA | 383 | ZigLLVM_CUDA, // NVIDIA CUDA |
| 385 | ZigLLVM_NVCL, // NVIDIA OpenCL | 384 | ZigLLVM_NVCL, // NVIDIA OpenCL |
| ... | @@ -432,6 +431,7 @@ enum ZigLLVM_ObjectFormatType { | ... | @@ -432,6 +431,7 @@ enum ZigLLVM_ObjectFormatType { |
| 432 | 431 | ||
| 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, |