Download cmake/header_test.in from camenduru/thrust: direct link, hf CLI and curl.
- Browser
- Download file 2.48 kB
-
https://huggingface.co/camenduru/thrust/resolve/main/cmake/header_test.in
- Command line
-
hf download hf://camenduru/thrust/cmake/header_test.in
-
curl -L -o header_test.in https://huggingface.co/camenduru/thrust/resolve/main/cmake/header_test.in
2.48 kB
| // This source file checks that: | |
| // 1) Header <thrust/${header}> compiles without error. | |
| // 2) Common macro collisions with platform/system headers are avoided. | |
| // Turn off failures for certain configurations: | |
| // Define THRUST_MACRO_CHECK(macro, header), which emits a diagnostic indicating | |
| // a potential macro collision and halts. | |
| // | |
| // Hacky way to build a string, but it works on all tested platforms. | |
| THRUST_MACRO_CHECK_IMPL(Identifier MACRO should not be used from Thrust \ | |
| headers due to conflicts with HEADER macros.) | |
| // Use raw platform checks instead of the THRUST_HOST_COMPILER macros since we | |
| // don't want to #include any headers other than the one being tested. | |
| // | |
| // This is only implemented for MSVC/GCC/Clang. | |
| // Fake up an error for MSVC | |
| /* Print message that looks like an error: */ \ | |
| __pragma(message(__FILE__ ":" THRUST_MACRO_CHECK_IMPL0(__LINE__) \ | |
| ": error: " | |
| /* abort compilation due to static_assert or syntax error: */ \ | |
| static_assert(false, | |
| // GCC/clang are easy: | |
| // complex.h conflicts | |
| // windows.h conflicts | |
| // We can't enable these checks without breaking some builds -- some standard | |
| // library implementations unconditionally `#undef` these macros, which then | |
| // causes random failures later. | |
| // Leaving these commented out as a warning: Here be dragons. | |
| //#define min(...) THRUST_MACRO_CHECK('min', windows.h) | |
| //#define max(...) THRUST_MACRO_CHECK('max', windows.h) | |
| // termios.h conflicts (NVIDIA/thrust#1547) | |