Xpetra no longer compiles with clang
Created by: etphipp
With latest develop sources I am not getting compiler errors in Xpetra when building with clang:
/home/etphipp/Trilinos/Trilinos/packages/xpetra/src/Headers/Xpetra_UseShortNamesScalar.hpp:164:73: error:
member 'TpetraVector' has the same name as its class
typedef Xpetra::TpetraVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> TpetraVe...
^
In file included from /home/etphipp/Trilinos/build/opt_mpi_openmp_clang/packages/xpetra/src/Utils/ExplicitInstantiation/Xpetra_TpetraVector.cpp:55:
/home/etphipp/Trilinos/Trilinos/packages/xpetra/src/Vector/Xpetra_TpetraVector_def.hpp:365:13: error:
destructor cannot be declared using a typedef
'Xpetra::TpetraVector<type-parameter-0-0, int, long long,
Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP, Kokkos::HostSpace>
>::TpetraVector' (aka 'TpetraVector<Scalar, int, long long,
KokkosDeviceWrapperNode<Kokkos::OpenMP> >') of the class name
virtual ~TpetraVector() { }
This occurs with both clang 7.0.1 and 4.0.1, which are the latest versions in the SEMS environment.
I guess it doesn't like using a typedef for the same name as the class. However I thought Xpetra has been doing this for a while, and I have been building with clang for many months now, so it is unclear to me why this issue is cropping up now or for just TpetraVector.