ShyLU: Build errors likely due to "using namespace std;"
Created by: mhoemmen
@trilinos/shylu @trilinos/amesos2
[ 42%] Building CXX object packages/shylu/core/src/CMakeFiles/shylu.dir/epetra/shylu_local_schur_operator.cpp.o
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(571): error: more than one instance of overloaded function "Kokkos::isinf" matches the argument list:
function "isinf(float)"
function "std::isinf(float)"
argument types are: (const float)
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(577): error: more than one instance of overloaded function "Kokkos::isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (const float)
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(840): error: more than one instance of overloaded function "Kokkos::isinf" matches the argument list:
function "isinf(double)"
function "std::isinf(double)"
argument types are: (const double)
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(846): error: more than one instance of overloaded function "Kokkos::isnan" matches the argument list:
function "isnan(double)"
function "std::isnan(double)"
argument types are: (const double)
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(975): error: more than one instance of overloaded function "Kokkos::isinf" matches the argument list:
function "isinf(long double)"
function "std::isinf(long double)"
argument types are: (const long double)
.../Trilinos/packages/kokkos-kernels/src/Kokkos_ArithTraits.hpp(981): error: more than one instance of overloaded function "Kokkos::isnan" matches the argument list:
function "isnan(long double)"
function "std::isnan(long double)"
argument types are: (const long double)
Also, `git grep "using namespace std;" returns the following hits, among many others:
packages/shylu/core/src/epetra/Ifpack_ShyLU.h:using namespace std;
packages/shylu/core/src/epetra/shylu.cpp:using namespace std;
packages/shylu/core/src/epetra/shylu_amesos_schur_operator.h:using namespace std;
packages/shylu/core/src/epetra/shylu_util.cpp:using namespace std;
packages/shylu/core/src/epetra/shylu_util.h:using namespace std;
This may only be an issue with CUDA builds.