llvm
b7f39202 - [SYCL][E2E] Stop CMAKE_CXX_FLAGS cache variable passing to clang++ (#20039)

Commit
217 days ago
[SYCL][E2E] Stop CMAKE_CXX_FLAGS cache variable passing to clang++ (#20039) Before #9075 the value of CMAKE_CXX_FLAGS was passed to SYCL E2E compilations. In #9075 the variable was explicitly unset in non-standalone (in-tree) builds of the tests. Unsetting a normal variable however exposes the cmake cache variable of the same name. I believe this was not the intent, rather the intent was to not pass any CMAKE_CXX_FLAGS to the E2E tests in non-standalone builds. It is weird to pass the user's CMAKE_CXX_FLAGS to the E2E tests, as these flags are for the SYCL toolchain, not tests. Passing `CMAKE_CXX_FLAGS` to the E2E tests can cause problems, for example a test might wish to override options such as setting `-ffp-model=fast`, but this fails with a warning/error if `CMAKE_CXX_FLAGS` contains `-ffp-model=precise`: `error: overriding '-ffp-model=precise' option with '-ffp-model=fast' [-Werror,-Woverriding-option]`. While the error could be worked around in the test by appending `-Wno-overriding-option` to the test flags, I don't believe this is the right solution. It is possible that the user is running on a system where some flags have to be passed to clang++ to make it produce working executables. For this reason, allow setting `SYCL_E2E_CLANG_CXX_FLAGS` by the user if needed in in-tree builds, but do not pass `CMAKE_CXX_FLAGS` by default. Contains a drive-by fix to make sure `-Werror` is passed to clang++ even when the c++ flags are overriden by the lit parameter `--param cxx_flags=...` (it can still be disabled using `-Wno-error` explicitly).
Author
Parents
Loading