Skip to content

Miscellaneous fixes #408

Miscellaneous fixes

Miscellaneous fixes #408

# Copyright 2023-2024, Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause
name: Compiler Warnings
permissions: read-all
on:
pull_request:
workflow_dispatch:
env:
LLVM_REPO: https://github.com/ispc/ispc.dependencies
jobs:
clang-16:
runs-on: ubuntu-latest
env:
LLVM_VERSION: "17.0"
LLVM_TAR: llvm-17.0.6-ubuntu18.04-Release+Asserts-x86.arm.wasm.tar.xz
ISPC_OPAQUE_PTR_MODE: "ON"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.sh
- name: Check environment
run: |
cat /proc/cpuinfo
which -a clang
clang -v
- name: Build ISPC with clang in -Werror mode
run: |
cmake -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
cmake --build build --target all -j4
gcc-11:
runs-on: ubuntu-latest
env:
LLVM_VERSION: "17.0"
LLVM_TAR: llvm-17.0.6-ubuntu18.04-Release+Asserts-x86.arm.wasm.tar.xz
ISPC_OPAQUE_PTR_MODE: "ON"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.sh
- name: Check environment
run: |
cat /proc/cpuinfo
which -a clang
gcc-11 -v
- name: Build ISPC with gcc in -Werror mode
# Disable attribute-related warnings
# LLVM 16.0-17.0 causes error here because of incorrect visibility in SROAPass:
# error: 'llvm::SROAPass' declared with greater visibility than the type of its field 'llvm::SROAPass::SelectsToRewrite'
run: |
cmake -B build -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_C_FLAGS="-Werror -Wno-attributes" -DCMAKE_CXX_FLAGS="-Werror -Wno-attributes"
cmake --build build --target all -j4
msvc-2022:
runs-on: windows-2022
env:
LLVM_VERSION: "17.0"
LLVM_TAR: llvm-17.0.6-win.vs2019-Release+Asserts-x86.arm.wasm.tar.7z
LLVM_HOME: "C:\\projects\\llvm"
CROSS_TOOLS_GNUWIN32: "C:\\projects\\cross\\gnuwin32"
BUILD_TYPE: "Release"
ISPC_OPAQUE_PTR_MODE: "ON"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
.github/workflows/scripts/install-build-deps.ps1
- name: Check environment
shell: cmd
run: |
wmic cpu get caption, deviceid, name, numberofcores, maxclockspeed, status
- name: Build ISPC with MSVC in -Werror mode
shell: cmd
run: |
cmake -B build -DISPC_PREPARE_PACKAGE=ON -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DISPC_CROSS=ON -DCMAKE_BUILD_TYPE=Release -DISPC_GNUWIN32_PATH=%CROSS_TOOLS_GNUWIN32% -DISPC_OPAQUE_PTR_MODE=%ISPC_OPAQUE_PTR_MODE%
cmake --build build --target package -j4 --config Release