diff --git a/README.md b/README.md index acc7e891e7..0893017bb7 100644 --- a/README.md +++ b/README.md @@ -125,14 +125,14 @@ libc. Create demo games using Zig. * cmake >= 2.8.5 * gcc >= 5.0.0 or clang >= 3.6.0 - * LLVM, Clang, LLD development libraries == 6.x, compiled with the same gcc or clang version above + * LLVM, Clang, LLD development libraries == 7.x, compiled with the same gcc or clang version above - These depend on zlib and libxml2. ##### Windows * cmake >= 2.8.5 * Microsoft Visual Studio 2015 - * LLVM, Clang, LLD development libraries == 6.x, compiled with the same MSVC version above + * LLVM, Clang, LLD development libraries == 7.x, compiled with the same MSVC version above #### Instructions @@ -156,11 +156,11 @@ make install `ZIG_LIBC_LIB_DIR` and `ZIG_LIBC_STATIC_LIB_DIR` are unused. ``` -brew install cmake llvm@6 -brew outdated llvm@6 || brew upgrade llvm@6 +brew install cmake llvm@7 +brew outdated llvm@7 || brew upgrade llvm@7 mkdir build cd build -cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@6/ -DCMAKE_INSTALL_PREFIX=$(pwd) +cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@7/ -DCMAKE_INSTALL_PREFIX=$(pwd) make install ./zig build --build-file ../build.zig test ``` diff --git a/ci/appveyor/appveyor.yml b/ci/appveyor/appveyor.yml index 2122153494..b63bde2769 100644 --- a/ci/appveyor/appveyor.yml +++ b/ci/appveyor/appveyor.yml @@ -6,5 +6,5 @@ build_script: after_build: - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\after_build.bat' cache: - - 'llvm+clang-5.0.1-win64-msvc-release.tar.xz' - 'llvm+clang-6.0.0-win64-msvc-release.tar.xz' + - 'llvm+clang-7.0.0-win64-msvc-release.tar.xz' diff --git a/ci/appveyor/build_script.bat b/ci/appveyor/build_script.bat index 5ae47df5ec..2d4b325a6b 100644 --- a/ci/appveyor/build_script.bat +++ b/ci/appveyor/build_script.bat @@ -7,13 +7,13 @@ SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%" SET "MSYSTEM=MINGW64" SET "APPVEYOR_CACHE_ENTRY_ZIP_ARGS=-m0=Copy" -bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-6.0.0-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/ziglang.org/deps/llvm%%2bclang-6.0.0-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-6.0.0-win64-msvc-release.tar.xz" || exit /b +bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-7.0.0-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/ziglang.org/deps/llvm%%2bclang-7.0.0-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-7.0.0-win64-msvc-release.tar.xz" || exit /b SET "PATH=%PREVPATH%" SET "MSYSTEM=%PREVMSYSTEM%" SET "ZIGBUILDDIR=%APPVEYOR_BUILD_FOLDER%\build-msvc-release" -SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-6.0.0-win64-msvc-release" +SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-7.0.0-win64-msvc-release" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 diff --git a/ci/travis_linux_before_install b/ci/travis_linux_before_install index f93dc69f2d..28eccd6141 100755 --- a/ci/travis_linux_before_install +++ b/ci/travis_linux_before_install @@ -2,7 +2,7 @@ set -x -sudo sh -c 'echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main" >> /etc/apt/sources.list' +sudo sh -c 'echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7.0 main" >> /etc/apt/sources.list' wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get update -q diff --git a/ci/travis_linux_install b/ci/travis_linux_install index 02d0d6d2e8..98f8d5aabc 100755 --- a/ci/travis_linux_install +++ b/ci/travis_linux_install @@ -4,4 +4,4 @@ set -x sudo apt-get remove -y llvm-* sudo rm -rf /usr/local/* -sudo apt-get install -y clang-6.0 libclang-6.0 libclang-6.0-dev llvm-6.0 llvm-6.0-dev liblld-6.0 liblld-6.0-dev cmake wine1.6-amd64 +sudo apt-get install -y clang-7.0 libclang-7.0 libclang-7.0-dev llvm-7.0 llvm-7.0-dev liblld-7.0 liblld-7.0-dev cmake wine1.6-amd64 diff --git a/ci/travis_linux_script b/ci/travis_linux_script index d6b9eb9230..698cd996f0 100755 --- a/ci/travis_linux_script +++ b/ci/travis_linux_script @@ -3,8 +3,8 @@ set -x set -e -export CC=clang-6.0 -export CXX=clang++-6.0 +export CC=clang-7.0 +export CXX=clang++-7.0 echo $PATH mkdir build cd build diff --git a/ci/travis_osx_install b/ci/travis_osx_install index 6974147109..2ad5e485c3 100755 --- a/ci/travis_osx_install +++ b/ci/travis_osx_install @@ -2,6 +2,6 @@ set -x -brew install llvm@6 -brew outdated llvm@6 || brew upgrade llvm@6 +brew install llvm@7 +brew outdated llvm@7 || brew upgrade llvm@7 diff --git a/ci/travis_osx_script b/ci/travis_osx_script index 56cf45cd5f..2616f42a7c 100755 --- a/ci/travis_osx_script +++ b/ci/travis_osx_script @@ -5,7 +5,7 @@ set -e mkdir build cd build -cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@6/ -DCMAKE_INSTALL_PREFIX=$(pwd) +cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@7/ -DCMAKE_INSTALL_PREFIX=$(pwd) make VERBOSE=1 make install diff --git a/cmake/Findclang.cmake b/cmake/Findclang.cmake index b42abd10a3..c2845da62f 100644 --- a/cmake/Findclang.cmake +++ b/cmake/Findclang.cmake @@ -27,8 +27,8 @@ if(MSVC) else() find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h PATHS - /usr/lib/llvm/6/include - /usr/lib/llvm-6.0/include + /usr/lib/llvm/7/include + /usr/lib/llvm-7.0/include /mingw64/include) macro(FIND_AND_ADD_CLANG_LIB _libname_) @@ -36,8 +36,8 @@ else() find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} PATHS ${CLANG_LIBDIRS} - /usr/lib/llvm/6/lib - /usr/lib/llvm-6.0/lib + /usr/lib/llvm/7/lib + /usr/lib/llvm-7.0/lib /mingw64/lib /c/msys64/mingw64/lib c:\\msys64\\mingw64\\lib) diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake index 296e0a91f7..1e09ad673a 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -8,12 +8,12 @@ # LLVM_LIBDIRS find_program(LLVM_CONFIG_EXE - NAMES llvm-config-6.0 llvm-config + NAMES llvm-config-7.0 llvm-config PATHS "/mingw64/bin" "/c/msys64/mingw64/bin" "c:/msys64/mingw64/bin" - "C:/Libraries/llvm-6.0.0/bin") + "C:/Libraries/llvm-7.0.0/bin") if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug")) execute_process( @@ -62,7 +62,7 @@ execute_process( set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) if(NOT LLVM_LIBRARIES) - find_library(LLVM_LIBRARIES NAMES LLVM LLVM-6.0 LLVM-6) + find_library(LLVM_LIBRARIES NAMES LLVM LLVM-7.0 LLVM-7) endif() link_directories("${CMAKE_PREFIX_PATH}/lib") diff --git a/src/target.cpp b/src/target.cpp index 8e7c5ce578..6b1260e139 100644 --- a/src/target.cpp +++ b/src/target.cpp @@ -148,7 +148,6 @@ static const Os os_list[] = { OsRTEMS, OsNaCl, // Native Client OsCNK, // BG/P Compute-Node Kernel - OsBitrig, OsAIX, OsCUDA, // NVIDIA CUDA OsNVCL, // NVIDIA OpenCL @@ -159,6 +158,7 @@ static const Os os_list[] = { OsWatchOS, // Apple watchOS OsMesa3D, OsContiki, + OsAMDPAL, OsZen, }; @@ -181,7 +181,6 @@ static const ZigLLVM_EnvironmentType environ_list[] = { ZigLLVM_MSVC, ZigLLVM_Itanium, ZigLLVM_Cygnus, - ZigLLVM_AMDOpenCL, ZigLLVM_CoreCLR, ZigLLVM_OpenCL, ZigLLVM_Simulator, @@ -280,8 +279,6 @@ static ZigLLVM_OSType get_llvm_os_type(Os os_type) { return ZigLLVM_NaCl; case OsCNK: return ZigLLVM_CNK; - case OsBitrig: - return ZigLLVM_Bitrig; case OsAIX: return ZigLLVM_AIX; case OsCUDA: @@ -302,6 +299,8 @@ static ZigLLVM_OSType get_llvm_os_type(Os os_type) { return ZigLLVM_Mesa3D; case OsContiki: return ZigLLVM_Contiki; + case OsAMDPAL: + return ZigLLVM_AMDPAL; } zig_unreachable(); } @@ -349,8 +348,6 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) { return OsNaCl; case ZigLLVM_CNK: return OsCNK; - case ZigLLVM_Bitrig: - return OsBitrig; case ZigLLVM_AIX: return OsAIX; case ZigLLVM_CUDA: @@ -371,6 +368,8 @@ static Os get_zig_os_type(ZigLLVM_OSType os_type) { return OsMesa3D; case ZigLLVM_Contiki: return OsContiki; + case ZigLLVM_AMDPAL: + return OsAMDPAL; } zig_unreachable(); } @@ -400,7 +399,6 @@ const char *get_target_os_name(Os os_type) { case OsRTEMS: case OsNaCl: // Native Client case OsCNK: // BG/P Compute-Node Kernel - case OsBitrig: case OsAIX: case OsCUDA: // NVIDIA CUDA case OsNVCL: // NVIDIA OpenCL @@ -411,6 +409,7 @@ const char *get_target_os_name(Os os_type) { case OsWatchOS: // Apple watchOS case OsMesa3D: case OsContiki: + case OsAMDPAL: return ZigLLVMGetOSTypeName(get_llvm_os_type(os_type)); } zig_unreachable(); @@ -749,7 +748,6 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) { case OsRTEMS: case OsNaCl: case OsCNK: - case OsBitrig: case OsAIX: case OsCUDA: case OsNVCL: @@ -761,6 +759,7 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) { case OsMesa3D: case OsFuchsia: case OsContiki: + case OsAMDPAL: zig_panic("TODO c type size in bits for this target"); } zig_unreachable(); diff --git a/src/target.hpp b/src/target.hpp index 614b0627d5..e60bd19422 100644 --- a/src/target.hpp +++ b/src/target.hpp @@ -17,6 +17,7 @@ struct ArchType { ZigLLVM_SubArchType sub_arch; }; +// Synchronize with target.cpp::os_list enum Os { OsFreestanding, OsAnanas, @@ -38,7 +39,6 @@ enum Os { OsRTEMS, OsNaCl, // Native Client OsCNK, // BG/P Compute-Node Kernel - OsBitrig, OsAIX, OsCUDA, // NVIDIA CUDA OsNVCL, // NVIDIA OpenCL @@ -49,6 +49,7 @@ enum Os { OsWatchOS, // Apple watchOS OsMesa3D, OsContiki, + OsAMDPAL, OsZen, }; diff --git a/src/zig_llvm.h b/src/zig_llvm.h index d6809000ce..3aea44d8c7 100644 --- a/src/zig_llvm.h +++ b/src/zig_llvm.h @@ -333,7 +333,6 @@ enum ZigLLVM_OSType { ZigLLVM_RTEMS, ZigLLVM_NaCl, // Native Client ZigLLVM_CNK, // BG/P Compute-Node Kernel - ZigLLVM_Bitrig, ZigLLVM_AIX, ZigLLVM_CUDA, // NVIDIA CUDA ZigLLVM_NVCL, // NVIDIA OpenCL @@ -344,10 +343,12 @@ enum ZigLLVM_OSType { ZigLLVM_WatchOS, // Apple watchOS ZigLLVM_Mesa3D, ZigLLVM_Contiki, + ZigLLVM_AMDPAL, // AMD PAL Runtime - ZigLLVM_LastOSType = ZigLLVM_Contiki + ZigLLVM_LastOSType = ZigLLVM_AMDPAL }; +// Synchronize with target.cpp::environ_list enum ZigLLVM_EnvironmentType { ZigLLVM_UnknownEnvironment, @@ -368,7 +369,6 @@ enum ZigLLVM_EnvironmentType { ZigLLVM_MSVC, ZigLLVM_Itanium, ZigLLVM_Cygnus, - ZigLLVM_AMDOpenCL, ZigLLVM_CoreCLR, ZigLLVM_OpenCL, ZigLLVM_Simulator,