mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 13:26:10 +01:00
Suppress declared_but_not_referenced warning for NVHPC
Catch2 suppresses unused variable and equivalent warnings in a couple of places, but most importantly, in the declaration of autoRegistrar in test registry. This warning gets triggered by NVHPC compiler. The current patch adds three macros, namely: CATCH_INTERNAL_START_WARNINGS_SUPPRESSION CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION for the NVHPC Compiler which in particular prevents that warning from occurring. The compiler is detected completely separately from the other compilers in this patch, because from what I found out, NVHPC defines __GNUC__ as well for some reason. (I suspect because it advertises itself as GNU compatible.) We also add a condition to make sure that the `__GNUC__` path is not taken by the NVHPC compiler.
This commit is contained in:
parent
f3c0a3cd09
commit
644294df60
@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
// Only GCC compiler should be used in this block, so other compilers trying to
|
// Only GCC compiler should be used in this block, so other compilers trying to
|
||||||
// mask themselves as GCC should be ignored.
|
// mask themselves as GCC should be ignored.
|
||||||
#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) && !defined(__LCC__)
|
#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) && !defined(__LCC__) && !defined(__NVCOMPILER)
|
||||||
# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" )
|
# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" )
|
||||||
# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" )
|
# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" )
|
||||||
|
|
||||||
@ -60,6 +60,12 @@
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__NVCOMPILER)
|
||||||
|
# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "diag push" )
|
||||||
|
# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "diag pop" )
|
||||||
|
# define CATCH_INTERNAL_SUPPRESS_UNUSED_VARIABLE_WARNINGS _Pragma( "diag_suppress declared_but_not_referenced" )
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__CUDACC__) && !defined(__clang__)
|
#if defined(__CUDACC__) && !defined(__clang__)
|
||||||
# ifdef __NVCC_DIAG_PRAGMA_SUPPORT__
|
# ifdef __NVCC_DIAG_PRAGMA_SUPPORT__
|
||||||
// New pragmas introduced in CUDA 11.5+
|
// New pragmas introduced in CUDA 11.5+
|
||||||
|
Loading…
Reference in New Issue
Block a user