This repository was archived by the owner on Aug 11, 2023. It is now read-only.

Description
I would like to add a test during CMake configuration time, whether it is safe to omit disabling the llvm intrinsics for the aforementioned functions. In nature it would be similar to what I recently added for #149, namely compiling a small test program that would execute for all platforms and devices on the compiling machine and only disable the intrinsics if any of them fail on the test.
I believe that in the vast majority of the cases, the compiling machine will also be the one to execute, so this configure-time check might even be made the default. Seeing compiler warnings which originate from deep internal machinery and the user having no means of testing their validity is not good UX.
If someone gave a code snippet that is able to test this capability of the executing runtime for a given device, I'd craft the surrounding code.
My guess is that this would be placed behind a COMPUTECPP_PORTABLE_BUILD cache variable, and the Codeplay folks could decide on a default value. I'd argue that OFF is the right choice. The vast majority of builds is non-release in the sense that portable builds, where it is not known what the execution environment is, when one is creating installers or builds that will be offloaded to clusters (and also not be built there).