Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions sycl-jit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ set(SYCL_JIT_BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
# directories, similar to how clang/CMakeLists.txt does it.
set(LLVM_SPIRV_INCLUDE_DIRS "${LLVM_MAIN_SRC_DIR}/../llvm-spirv/include")

if (NOT WIN32 AND NOT CYGWIN)
# Set library-wide warning options.
set(SYCL_JIT_WARNING_FLAGS -Wall -Wextra -Wconversion -Wimplicit-fallthrough)

option(SYCL_JIT_ENABLE_WERROR "Treat all warnings as errors in SYCL JIT library" ON)
if(SYCL_JIT_ENABLE_WERROR)
list(APPEND SYCL_JIT_WARNING_FLAGS -Werror)
endif(SYCL_JIT_ENABLE_WERROR)
endif()
option(SYCL_JIT_ENABLE_WERROR "Treat all warnings as errors in SYCL JIT library" ON)

# sycl-jit warning flags; host GCC: -Wno-error=conversion on LLVM/Clang headers.
function(sycl_jit_apply_target_warning_flags target)
if(WIN32 OR CYGWIN)
return()
endif()
target_compile_options(${target} PRIVATE
-Wall -Wextra -Wconversion -Wimplicit-fallthrough
$<$<BOOL:${SYCL_JIT_ENABLE_WERROR}>:-Werror>
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=conversion>)
endfunction()

add_subdirectory(jit-compiler)
add_subdirectory(passes)
Expand Down
5 changes: 1 addition & 4 deletions sycl-jit/jit-compiler/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,7 @@ if(WIN32)
target_link_libraries(sycl-jit PRIVATE Shlwapi)
endif()

target_compile_options(sycl-jit PRIVATE ${SYCL_JIT_WARNING_FLAGS})
# Host GCC can hit -Werror=conversion on Clang headers in DeviceCompilation.cpp;
target_compile_options(sycl-jit PRIVATE
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=conversion>)
sycl_jit_apply_target_warning_flags(sycl-jit)

# Mark LLVM and SPIR-V headers as system headers to ignore warnigns in them.
# This classification remains intact even if the same paths are added as normal
Expand Down
4 changes: 2 additions & 2 deletions sycl-jit/passes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if (NOT WIN32 AND NOT CYGWIN)
intrinsics_gen
)

target_compile_options(SYCLJITPassesPlugin PRIVATE ${SYCL_JIT_WARNING_FLAGS})
sycl_jit_apply_target_warning_flags(SYCLJITPassesPlugin)

# Mark LLVM headers as system headers to ignore warnigns in them. This
# classification remains intact even if the same path is added as a normal
Expand Down Expand Up @@ -58,7 +58,7 @@ add_llvm_library(SYCLJITPasses
SYCLLowerIR
)

target_compile_options(SYCLJITPasses PRIVATE ${SYCL_JIT_WARNING_FLAGS})
sycl_jit_apply_target_warning_flags(SYCLJITPasses)

# Mark LLVM headers as system headers to ignore warnigns in them. This
# classification remains intact even if the same path is added as a normal
Expand Down
Loading