Commit 62668e3e6b

Andrew Kelley <superjoe30@gmail.com>
2018-03-22 20:32:47
update to llvm 7.0.0
1 parent 53588f4
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'
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
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
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
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
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
 
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
 
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)
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")
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();
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,
 };
 
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,
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
 ```