@trilinos/kokkos-kernels
On MacOS 15.2 using Xcode and Anaconda (for TPLs), I was trying to build PyTrilinos with extra packages enabled, and I got this build error:
/Users/pyt-viper/Development/Trilinos/packages/kokkos-kernels/src/blas/KokkosBlas3_gemm.hpp:120:11: error: expected unqualified-id
int64_t B0 = B.extent(0);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/termios.h:291:17: note: expanded from macro 'B0'
#define B0 0
^
I assert that the cause is obvious, even if the reason I don't always see this is not. The termios.h header unwisely defines a B0 macro which conflicts with the perfectly reasonable choice of variable names in KokkosBlas3_gemm.hpp.
The solution is obvious, too. We could add an #undef B0 directive, or change the variable names (B0 to B_0, and for consistency, similarly for A0 and C0). I'm happy to do it. Just let me know which you prefer.
If y'all decide to #undef, it might be wise to remember the old definition and redefine at the end of the code. It seems mean to break termios.h for downstream code : - ) .
PR #6512 changes the variable name (and user provided matching kokkos-kernels PR). I just approved and added the RETEST and AUTOMERGE labels.
PR #6512 merged