| author | |
| committer | |
| log | 8f92a49dfde5e8690525da028844cb7c1188d397 |
| tree | 6974ac66da2a301b8a845bb9008de02ecc4ed39e |
| parent | c0b4121ff2d31b2ef37e480eec18f0bd063d7a2d |
| signature |
8 files changed, 59 insertions(+), 34 deletions(-)
README.md+5-5| ... | @@ -26,14 +26,14 @@ Note that you can | ... | @@ -26,14 +26,14 @@ Note that you can |
| 26 | 26 | ||
| 27 | * cmake >= 2.8.5 | 27 | * cmake >= 2.8.5 |
| 28 | * gcc >= 5.0.0 or clang >= 3.6.0 | 28 | * gcc >= 5.0.0 or clang >= 3.6.0 |
| 29 | * LLVM, Clang, LLD development libraries == 8.x, compiled with the same gcc or clang version above | 29 | * LLVM, Clang, LLD development libraries == 9.x, compiled with the same gcc or clang version above |
| 30 | - Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix). | 30 | - Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix). |
| 31 | 31 | ||
| 32 | ##### Windows | 32 | ##### Windows |
| 33 | 33 | ||
| 34 | * cmake >= 2.8.5 | 34 | * cmake >= 2.8.5 |
| 35 | * Microsoft Visual Studio 2017 (version 15.8) | 35 | * Microsoft Visual Studio 2017 (version 15.8) |
| 36 | * LLVM, Clang, LLD development libraries == 8.x, compiled with the same MSVC version above | 36 | * LLVM, Clang, LLD development libraries == 9.x, compiled with the same MSVC version above |
| 37 | - Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#pre-built-binaries) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows). | 37 | - Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#pre-built-binaries) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows). |
| 38 | 38 | ||
| 39 | #### Instructions | 39 | #### Instructions |
| ... | @@ -50,11 +50,11 @@ make install | ... | @@ -50,11 +50,11 @@ make install |
| 50 | ##### MacOS | 50 | ##### MacOS |
| 51 | 51 | ||
| 52 | ``` | 52 | ``` |
| 53 | brew install cmake llvm@8 | 53 | brew install cmake llvm@9 |
| 54 | brew outdated llvm@8 || brew upgrade llvm@8 | 54 | brew outdated llvm@9 || brew upgrade llvm@9 |
| 55 | mkdir build | 55 | mkdir build |
| 56 | cd build | 56 | cd build |
| 57 | cmake .. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/8.0.0_1 | 57 | cmake .. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/9.0.0 |
| 58 | make install | 58 | make install |
| 59 | ``` | 59 | ``` |
| 60 | 60 |
cmake/Findclang.cmake+8-8| ... | @@ -38,10 +38,10 @@ if(MSVC) | ... | @@ -38,10 +38,10 @@ if(MSVC) |
| 38 | else() | 38 | else() |
| 39 | find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h | 39 | find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h |
| 40 | PATHS | 40 | PATHS |
| 41 | /usr/lib/llvm/8/include | 41 | /usr/lib/llvm/9/include |
| 42 | /usr/lib/llvm-8/include | 42 | /usr/lib/llvm-9/include |
| 43 | /usr/lib/llvm-8.0/include | 43 | /usr/lib/llvm-9.0/include |
| 44 | /usr/local/llvm80/include | 44 | /usr/local/llvm90/include |
| 45 | /mingw64/include) | 45 | /mingw64/include) |
| 46 | 46 | ||
| 47 | macro(FIND_AND_ADD_CLANG_LIB _libname_) | 47 | macro(FIND_AND_ADD_CLANG_LIB _libname_) |
| ... | @@ -49,10 +49,10 @@ else() | ... | @@ -49,10 +49,10 @@ else() |
| 49 | find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} | 49 | find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} |
| 50 | PATHS | 50 | PATHS |
| 51 | ${CLANG_LIBDIRS} | 51 | ${CLANG_LIBDIRS} |
| 52 | /usr/lib/llvm/8/lib | 52 | /usr/lib/llvm/9/lib |
| 53 | /usr/lib/llvm-8/lib | 53 | /usr/lib/llvm-9/lib |
| 54 | /usr/lib/llvm-8.0/lib | 54 | /usr/lib/llvm-9.0/lib |
| 55 | /usr/local/llvm80/lib | 55 | /usr/local/llvm90/lib |
| 56 | /mingw64/lib | 56 | /mingw64/lib |
| 57 | /c/msys64/mingw64/lib | 57 | /c/msys64/mingw64/lib |
| 58 | c:\\msys64\\mingw64\\lib) | 58 | c:\\msys64\\mingw64\\lib) |
cmake/Findlld.cmake+7-7| ... | @@ -8,14 +8,14 @@ | ... | @@ -8,14 +8,14 @@ |
| 8 | 8 | ||
| 9 | find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h | 9 | find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h |
| 10 | PATHS | 10 | PATHS |
| 11 | /usr/lib/llvm-8.0/include | 11 | /usr/lib/llvm-9.0/include |
| 12 | /usr/local/llvm80/include | 12 | /usr/local/llvm90/include |
| 13 | /mingw64/include) | 13 | /mingw64/include) |
| 14 | 14 | ||
| 15 | find_library(LLD_LIBRARY NAMES lld-8.0 lld80 lld | 15 | find_library(LLD_LIBRARY NAMES lld-9.0 lld90 lld |
| 16 | PATHS | 16 | PATHS |
| 17 | /usr/lib/llvm-8.0/lib | 17 | /usr/lib/llvm-9.0/lib |
| 18 | /usr/local/llvm80/lib | 18 | /usr/local/llvm90/lib |
| 19 | ) | 19 | ) |
| 20 | if(EXISTS ${LLD_LIBRARY}) | 20 | if(EXISTS ${LLD_LIBRARY}) |
| 21 | set(LLD_LIBRARIES ${LLD_LIBRARY}) | 21 | set(LLD_LIBRARIES ${LLD_LIBRARY}) |
| ... | @@ -24,8 +24,8 @@ else() | ... | @@ -24,8 +24,8 @@ else() |
| 24 | string(TOUPPER ${_libname_} _prettylibname_) | 24 | string(TOUPPER ${_libname_} _prettylibname_) |
| 25 | find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_} | 25 | find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_} |
| 26 | PATHS | 26 | PATHS |
| 27 | /usr/lib/llvm-8.0/lib | 27 | /usr/lib/llvm-9.0/lib |
| 28 | /usr/local/llvm80/lib | 28 | /usr/local/llvm90/lib |
| 29 | /mingw64/lib | 29 | /mingw64/lib |
| 30 | /c/msys64/mingw64/lib | 30 | /c/msys64/mingw64/lib |
| 31 | c:/msys64/mingw64/lib) | 31 | c:/msys64/mingw64/lib) |
cmake/Findllvm.cmake+9-9| ... | @@ -8,12 +8,12 @@ | ... | @@ -8,12 +8,12 @@ |
| 8 | # LLVM_LIBDIRS | 8 | # LLVM_LIBDIRS |
| 9 | 9 | ||
| 10 | find_program(LLVM_CONFIG_EXE | 10 | find_program(LLVM_CONFIG_EXE |
| 11 | NAMES llvm-config-8 llvm-config-8.0 llvm-config80 llvm-config | 11 | NAMES llvm-config-9 llvm-config-9.0 llvm-config90 llvm-config |
| 12 | PATHS | 12 | PATHS |
| 13 | "/mingw64/bin" | 13 | "/mingw64/bin" |
| 14 | "/c/msys64/mingw64/bin" | 14 | "/c/msys64/mingw64/bin" |
| 15 | "c:/msys64/mingw64/bin" | 15 | "c:/msys64/mingw64/bin" |
| 16 | "C:/Libraries/llvm-8.0.0/bin") | 16 | "C:/Libraries/llvm-9.0.0/bin") |
| 17 | 17 | ||
| 18 | if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND") | 18 | if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND") |
| 19 | message(FATAL_ERROR "unable to find llvm-config") | 19 | message(FATAL_ERROR "unable to find llvm-config") |
| ... | @@ -28,14 +28,14 @@ execute_process( | ... | @@ -28,14 +28,14 @@ execute_process( |
| 28 | 	OUTPUT_VARIABLE LLVM_CONFIG_VERSION | 28 | 	OUTPUT_VARIABLE LLVM_CONFIG_VERSION |
| 29 | 	OUTPUT_STRIP_TRAILING_WHITESPACE) | 29 | 	OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 30 | 30 | ||
| 31 | if("${LLVM_CONFIG_VERSION}" VERSION_LESS 8) | 31 | if("${LLVM_CONFIG_VERSION}" VERSION_LESS 9) |
| 32 | message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}") | 32 | message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}") |
| 33 | endif() | 33 | endif() |
| 34 | if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 9) | 34 | if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 10) |
| 35 | message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}") | 35 | message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}") |
| 36 | endif() | 36 | endif() |
| 37 | if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 9) | 37 | if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 10) |
| 38 | message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}") | 38 | message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}") |
| 39 | endif() | 39 | endif() |
| 40 | 40 | ||
| 41 | execute_process( | 41 | execute_process( |
| ... | @@ -112,7 +112,7 @@ execute_process( | ... | @@ -112,7 +112,7 @@ execute_process( |
| 112 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) | 112 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) |
| 113 | 113 | ||
| 114 | if(NOT LLVM_LIBRARIES) | 114 | if(NOT LLVM_LIBRARIES) |
| 115 | find_library(LLVM_LIBRARIES NAMES LLVM LLVM-8 LLVM-8.0) | 115 | find_library(LLVM_LIBRARIES NAMES LLVM LLVM-9 LLVM-9.0) |
| 116 | endif() | 116 | endif() |
| 117 | 117 | ||
| 118 | link_directories("${CMAKE_PREFIX_PATH}/lib") | 118 | link_directories("${CMAKE_PREFIX_PATH}/lib") |
src/target.cpp+7| ... | @@ -33,6 +33,7 @@ static const ZigLLVM_SubArchType subarch_list_arm32[] = { | ... | @@ -33,6 +33,7 @@ static const ZigLLVM_SubArchType subarch_list_arm32[] = { |
| 33 | ZigLLVM_ARMSubArch_v8r, | 33 | ZigLLVM_ARMSubArch_v8r, |
| 34 | ZigLLVM_ARMSubArch_v8m_baseline, | 34 | ZigLLVM_ARMSubArch_v8m_baseline, |
| 35 | ZigLLVM_ARMSubArch_v8m_mainline, | 35 | ZigLLVM_ARMSubArch_v8m_mainline, |
| 36 | ZigLLVM_ARMSubArch_v8_1m_mainline, | ||
| 36 | ZigLLVM_ARMSubArch_v7, | 37 | ZigLLVM_ARMSubArch_v7, |
| 37 | ZigLLVM_ARMSubArch_v7em, | 38 | ZigLLVM_ARMSubArch_v7em, |
| 38 | ZigLLVM_ARMSubArch_v7m, | 39 | ZigLLVM_ARMSubArch_v7m, |
| ... | @@ -76,6 +77,7 @@ static const ZigLLVM_ArchType arch_list[] = { | ... | @@ -76,6 +77,7 @@ static const ZigLLVM_ArchType arch_list[] = { |
| 76 | ZigLLVM_armeb, // ARM (big endian): armeb | 77 | ZigLLVM_armeb, // ARM (big endian): armeb |
| 77 | ZigLLVM_aarch64, // AArch64 (little endian): aarch64 | 78 | ZigLLVM_aarch64, // AArch64 (little endian): aarch64 |
| 78 | ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be | 79 | ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be |
| 80 | ZigLLVM_aarch64_32, // AArch64 (little endian) ILP32: aarch64_32 | ||
| 79 | ZigLLVM_arc, // ARC: Synopsys ARC | 81 | ZigLLVM_arc, // ARC: Synopsys ARC |
| 80 | ZigLLVM_avr, // AVR: Atmel AVR microcontroller | 82 | ZigLLVM_avr, // AVR: Atmel AVR microcontroller |
| 81 | ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian) | 83 | ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian) |
| ... | @@ -176,6 +178,7 @@ static const Os os_list[] = { | ... | @@ -176,6 +178,7 @@ static const Os os_list[] = { |
| 176 | OsHermitCore, | 178 | OsHermitCore, |
| 177 | OsHurd, | 179 | OsHurd, |
| 178 | OsWASI, | 180 | OsWASI, |
| 181 | OsEmscripten, | ||
| 179 | OsZen, | 182 | OsZen, |
| 180 | OsUefi, | 183 | OsUefi, |
| 181 | }; | 184 | }; |
| ... | @@ -193,15 +196,19 @@ static const ZigLLVM_EnvironmentType abi_list[] = { | ... | @@ -193,15 +196,19 @@ static const ZigLLVM_EnvironmentType abi_list[] = { |
| 193 | ZigLLVM_CODE16, | 196 | ZigLLVM_CODE16, |
| 194 | ZigLLVM_EABI, | 197 | ZigLLVM_EABI, |
| 195 | ZigLLVM_EABIHF, | 198 | ZigLLVM_EABIHF, |
| 199 | ZigLLVM_ELFv1, | ||
| 200 | ZigLLVM_ELFv2, | ||
| 196 | ZigLLVM_Android, | 201 | ZigLLVM_Android, |
| 197 | ZigLLVM_Musl, | 202 | ZigLLVM_Musl, |
| 198 | ZigLLVM_MuslEABI, | 203 | ZigLLVM_MuslEABI, |
| 199 | ZigLLVM_MuslEABIHF, | 204 | ZigLLVM_MuslEABIHF, |
| 205 | |||
| 200 | ZigLLVM_MSVC, | 206 | ZigLLVM_MSVC, |
| 201 | ZigLLVM_Itanium, | 207 | ZigLLVM_Itanium, |
| 202 | ZigLLVM_Cygnus, | 208 | ZigLLVM_Cygnus, |
| 203 | ZigLLVM_CoreCLR, | 209 | ZigLLVM_CoreCLR, |
| 204 | ZigLLVM_Simulator, | 210 | ZigLLVM_Simulator, |
| 211 | ZigLLVM_MacABI, | ||
| 205 | }; | 212 | }; |
| 206 | 213 | ||
| 207 | static const ZigLLVM_ObjectFormatType oformat_list[] = { | 214 | static const ZigLLVM_ObjectFormatType oformat_list[] = { |
src/target.hpp+1| ... | @@ -48,6 +48,7 @@ enum Os { | ... | @@ -48,6 +48,7 @@ enum Os { |
| 48 | OsHermitCore, | 48 | OsHermitCore, |
| 49 | OsHurd, | 49 | OsHurd, |
| 50 | OsWASI, | 50 | OsWASI, |
| 51 | OsEmscripten, | ||
| 51 | OsZen, | 52 | OsZen, |
| 52 | OsUefi, | 53 | OsUefi, |
| 53 | }; | 54 | }; |
src/zig_llvm.cpp+11-1| ... | @@ -176,7 +176,6 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM | ... | @@ -176,7 +176,6 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM |
| 176 | PMBuilder->SizeLevel = is_small ? 2 : 0; | 176 | PMBuilder->SizeLevel = is_small ? 2 : 0; |
| 177 | 177 | ||
| 178 | PMBuilder->DisableTailCalls = is_debug; | 178 | PMBuilder->DisableTailCalls = is_debug; |
| 179 | PMBuilder->DisableUnitAtATime = is_debug; | ||
| 180 | PMBuilder->DisableUnrollLoops = is_debug; | 179 | PMBuilder->DisableUnrollLoops = is_debug; |
| 181 | PMBuilder->SLPVectorize = !is_debug; | 180 | PMBuilder->SLPVectorize = !is_debug; |
| 182 | PMBuilder->LoopVectorize = !is_debug; | 181 | PMBuilder->LoopVectorize = !is_debug; |
| ... | @@ -805,6 +804,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) { | ... | @@ -805,6 +804,8 @@ const char *ZigLLVMGetSubArchTypeName(ZigLLVM_SubArchType sub_arch) { |
| 805 | return "v8m_baseline"; | 804 | return "v8m_baseline"; |
| 806 | case ZigLLVM_ARMSubArch_v8m_mainline: | 805 | case ZigLLVM_ARMSubArch_v8m_mainline: |
| 807 | return "v8m_mainline"; | 806 | return "v8m_mainline"; |
| 807 | case ZigLLVM_ARMSubArch_v8_1m_mainline: | ||
| 808 | return "v8_1m_mainline"; | ||
| 808 | case ZigLLVM_ARMSubArch_v7: | 809 | case ZigLLVM_ARMSubArch_v7: |
| 809 | return "v7"; | 810 | return "v7"; |
| 810 | case ZigLLVM_ARMSubArch_v7em: | 811 | case ZigLLVM_ARMSubArch_v7em: |
| ... | @@ -964,6 +965,7 @@ bool ZigLLDLink(ZigLLVM_ObjectFormatType oformat, const char **args, size_t arg_ | ... | @@ -964,6 +965,7 @@ bool ZigLLDLink(ZigLLVM_ObjectFormatType oformat, const char **args, size_t arg_ |
| 964 | 965 | ||
| 965 | switch (oformat) { | 966 | switch (oformat) { |
| 966 | case ZigLLVM_UnknownObjectFormat: | 967 | case ZigLLVM_UnknownObjectFormat: |
| 968 | case ZigLLVM_XCOFF: | ||
| 967 | assert(false); // unreachable | 969 | assert(false); // unreachable |
| 968 | 970 | ||
| 969 | case ZigLLVM_COFF: | 971 | case ZigLLVM_COFF: |
| ... | @@ -1043,6 +1045,7 @@ static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8 == Triple::ARMSubArch_v | ... | @@ -1043,6 +1045,7 @@ static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8 == Triple::ARMSubArch_v |
| 1043 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8r == Triple::ARMSubArch_v8r, ""); | 1045 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8r == Triple::ARMSubArch_v8r, ""); |
| 1044 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_baseline == Triple::ARMSubArch_v8m_baseline, ""); | 1046 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_baseline == Triple::ARMSubArch_v8m_baseline, ""); |
| 1045 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_mainline == Triple::ARMSubArch_v8m_mainline, ""); | 1047 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8m_mainline == Triple::ARMSubArch_v8m_mainline, ""); |
| 1048 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v8_1m_mainline == Triple::ARMSubArch_v8_1m_mainline, ""); | ||
| 1046 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7 == Triple::ARMSubArch_v7, ""); | 1049 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7 == Triple::ARMSubArch_v7, ""); |
| 1047 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7em == Triple::ARMSubArch_v7em, ""); | 1050 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7em == Triple::ARMSubArch_v7em, ""); |
| 1048 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7m == Triple::ARMSubArch_v7m, ""); | 1051 | static_assert((Triple::SubArchType)ZigLLVM_ARMSubArch_v7m == Triple::ARMSubArch_v7m, ""); |
| ... | @@ -1115,6 +1118,10 @@ static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, ""); | ... | @@ -1115,6 +1118,10 @@ static_assert((Triple::OSType)ZigLLVM_WatchOS == Triple::WatchOS, ""); |
| 1115 | static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, ""); | 1118 | static_assert((Triple::OSType)ZigLLVM_Mesa3D == Triple::Mesa3D, ""); |
| 1116 | static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, ""); | 1119 | static_assert((Triple::OSType)ZigLLVM_Contiki == Triple::Contiki, ""); |
| 1117 | static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, ""); | 1120 | static_assert((Triple::OSType)ZigLLVM_AMDPAL == Triple::AMDPAL, ""); |
| 1121 | static_assert((Triple::OSType)ZigLLVM_HermitCore == Triple::HermitCore, ""); | ||
| 1122 | static_assert((Triple::OSType)ZigLLVM_Hurd == Triple::Hurd, ""); | ||
| 1123 | static_assert((Triple::OSType)ZigLLVM_WASI == Triple::WASI, ""); | ||
| 1124 | static_assert((Triple::OSType)ZigLLVM_Emscripten == Triple::Emscripten, ""); | ||
| 1118 | static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, ""); | 1125 | static_assert((Triple::OSType)ZigLLVM_LastOSType == Triple::LastOSType, ""); |
| 1119 | 1126 | ||
| 1120 | static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, ""); | 1127 | static_assert((Triple::EnvironmentType)ZigLLVM_UnknownEnvironment == Triple::UnknownEnvironment, ""); |
| ... | @@ -1127,6 +1134,8 @@ static_assert((Triple::EnvironmentType)ZigLLVM_GNUX32 == Triple::GNUX32, ""); | ... | @@ -1127,6 +1134,8 @@ static_assert((Triple::EnvironmentType)ZigLLVM_GNUX32 == Triple::GNUX32, ""); |
| 1127 | static_assert((Triple::EnvironmentType)ZigLLVM_CODE16 == Triple::CODE16, ""); | 1134 | static_assert((Triple::EnvironmentType)ZigLLVM_CODE16 == Triple::CODE16, ""); |
| 1128 | static_assert((Triple::EnvironmentType)ZigLLVM_EABI == Triple::EABI, ""); | 1135 | static_assert((Triple::EnvironmentType)ZigLLVM_EABI == Triple::EABI, ""); |
| 1129 | static_assert((Triple::EnvironmentType)ZigLLVM_EABIHF == Triple::EABIHF, ""); | 1136 | static_assert((Triple::EnvironmentType)ZigLLVM_EABIHF == Triple::EABIHF, ""); |
| 1137 | static_assert((Triple::EnvironmentType)ZigLLVM_ELFv1 == Triple::ELFv1, ""); | ||
| 1138 | static_assert((Triple::EnvironmentType)ZigLLVM_ELFv2 == Triple::ELFv2, ""); | ||
| 1130 | static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, ""); | 1139 | static_assert((Triple::EnvironmentType)ZigLLVM_Android == Triple::Android, ""); |
| 1131 | static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, ""); | 1140 | static_assert((Triple::EnvironmentType)ZigLLVM_Musl == Triple::Musl, ""); |
| 1132 | static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, ""); | 1141 | static_assert((Triple::EnvironmentType)ZigLLVM_MuslEABI == Triple::MuslEABI, ""); |
| ... | @@ -1143,3 +1152,4 @@ static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, ""); | ... | @@ -1143,3 +1152,4 @@ static_assert((Triple::ObjectFormatType)ZigLLVM_COFF == Triple::COFF, ""); |
| 1143 | static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, ""); | 1152 | static_assert((Triple::ObjectFormatType)ZigLLVM_ELF == Triple::ELF, ""); |
| 1144 | static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, ""); | 1153 | static_assert((Triple::ObjectFormatType)ZigLLVM_MachO == Triple::MachO, ""); |
| 1145 | static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, ""); | 1154 | static_assert((Triple::ObjectFormatType)ZigLLVM_Wasm == Triple::Wasm, ""); |
| 1155 | static_assert((Triple::ObjectFormatType)ZigLLVM_XCOFF == Triple::XCOFF, ""); |
src/zig_llvm.h+11-4| ... | @@ -227,6 +227,7 @@ enum ZigLLVM_ArchType { | ... | @@ -227,6 +227,7 @@ enum ZigLLVM_ArchType { |
| 227 | ZigLLVM_armeb, // ARM (big endian): armeb | 227 | ZigLLVM_armeb, // ARM (big endian): armeb |
| 228 | ZigLLVM_aarch64, // AArch64 (little endian): aarch64 | 228 | ZigLLVM_aarch64, // AArch64 (little endian): aarch64 |
| 229 | ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be | 229 | ZigLLVM_aarch64_be, // AArch64 (big endian): aarch64_be |
| 230 | ZigLLVM_aarch64_32, // AArch64 (little endian) ILP32: aarch64_32 | ||
| 230 | ZigLLVM_arc, // ARC: Synopsys ARC | 231 | ZigLLVM_arc, // ARC: Synopsys ARC |
| 231 | ZigLLVM_avr, // AVR: Atmel AVR microcontroller | 232 | ZigLLVM_avr, // AVR: Atmel AVR microcontroller |
| 232 | ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian) | 233 | ZigLLVM_bpfel, // eBPF or extended BPF or 64-bit BPF (little endian) |
| ... | @@ -289,6 +290,7 @@ enum ZigLLVM_SubArchType { | ... | @@ -289,6 +290,7 @@ enum ZigLLVM_SubArchType { |
| 289 | ZigLLVM_ARMSubArch_v8r, | 290 | ZigLLVM_ARMSubArch_v8r, |
| 290 | ZigLLVM_ARMSubArch_v8m_baseline, | 291 | ZigLLVM_ARMSubArch_v8m_baseline, |
| 291 | ZigLLVM_ARMSubArch_v8m_mainline, | 292 | ZigLLVM_ARMSubArch_v8m_mainline, |
| 293 | ZigLLVM_ARMSubArch_v8_1m_mainline, | ||
| 292 | ZigLLVM_ARMSubArch_v7, | 294 | ZigLLVM_ARMSubArch_v7, |
| 293 | ZigLLVM_ARMSubArch_v7em, | 295 | ZigLLVM_ARMSubArch_v7em, |
| 294 | ZigLLVM_ARMSubArch_v7m, | 296 | ZigLLVM_ARMSubArch_v7m, |
| ... | @@ -370,11 +372,12 @@ enum ZigLLVM_OSType { | ... | @@ -370,11 +372,12 @@ enum ZigLLVM_OSType { |
| 370 | ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel | 372 | ZigLLVM_HermitCore, // HermitCore Unikernel/Multikernel |
| 371 | ZigLLVM_Hurd, // GNU/Hurd | 373 | ZigLLVM_Hurd, // GNU/Hurd |
| 372 | ZigLLVM_WASI, // Experimental WebAssembly OS | 374 | ZigLLVM_WASI, // Experimental WebAssembly OS |
| 375 | ZigLLVM_Emscripten, | ||
| 373 | 376 | ||
| 374 | ZigLLVM_LastOSType = ZigLLVM_WASI | 377 | ZigLLVM_LastOSType = ZigLLVM_Emscripten |
| 375 | }; | 378 | }; |
| 376 | 379 | ||
| 377 | // Synchronize with target.cpp::environ_list | 380 | // Synchronize with target.cpp::abi_list |
| 378 | enum ZigLLVM_EnvironmentType { | 381 | enum ZigLLVM_EnvironmentType { |
| 379 | ZigLLVM_UnknownEnvironment, | 382 | ZigLLVM_UnknownEnvironment, |
| 380 | 383 | ||
| ... | @@ -387,6 +390,8 @@ enum ZigLLVM_EnvironmentType { | ... | @@ -387,6 +390,8 @@ enum ZigLLVM_EnvironmentType { |
| 387 | ZigLLVM_CODE16, | 390 | ZigLLVM_CODE16, |
| 388 | ZigLLVM_EABI, | 391 | ZigLLVM_EABI, |
| 389 | ZigLLVM_EABIHF, | 392 | ZigLLVM_EABIHF, |
| 393 | ZigLLVM_ELFv1, | ||
| 394 | ZigLLVM_ELFv2, | ||
| 390 | ZigLLVM_Android, | 395 | ZigLLVM_Android, |
| 391 | ZigLLVM_Musl, | 396 | ZigLLVM_Musl, |
| 392 | ZigLLVM_MuslEABI, | 397 | ZigLLVM_MuslEABI, |
| ... | @@ -396,9 +401,10 @@ enum ZigLLVM_EnvironmentType { | ... | @@ -396,9 +401,10 @@ enum ZigLLVM_EnvironmentType { |
| 396 | ZigLLVM_Itanium, | 401 | ZigLLVM_Itanium, |
| 397 | ZigLLVM_Cygnus, | 402 | ZigLLVM_Cygnus, |
| 398 | ZigLLVM_CoreCLR, | 403 | ZigLLVM_CoreCLR, |
| 399 | ZigLLVM_Simulator, | 404 | ZigLLVM_Simulator, // Simulator variants of other systems, e.g., Apple's iOS |
| 405 | ZigLLVM_MacABI, // Mac Catalyst variant of Apple's iOS deployment target. | ||
| 400 | 406 | ||
| 401 | ZigLLVM_LastEnvironmentType = ZigLLVM_Simulator | 407 | ZigLLVM_LastEnvironmentType = ZigLLVM_MacABI |
| 402 | }; | 408 | }; |
| 403 | 409 | ||
| 404 | enum ZigLLVM_ObjectFormatType { | 410 | enum ZigLLVM_ObjectFormatType { |
| ... | @@ -408,6 +414,7 @@ enum ZigLLVM_ObjectFormatType { | ... | @@ -408,6 +414,7 @@ enum ZigLLVM_ObjectFormatType { |
| 408 | ZigLLVM_ELF, | 414 | ZigLLVM_ELF, |
| 409 | ZigLLVM_MachO, | 415 | ZigLLVM_MachO, |
| 410 | ZigLLVM_Wasm, | 416 | ZigLLVM_Wasm, |
| 417 | ZigLLVM_XCOFF, | ||
| 411 | }; | 418 | }; |
| 412 | 419 | ||
| 413 | #define ZigLLVM_DIFlags_Zero 0U | 420 | #define ZigLLVM_DIFlags_Zero 0U |