Fix construct_at compilation breakage on ROCm.
diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h
index 8ec1a27..871219a 100644
--- a/Eigen/src/Core/util/Memory.h
+++ b/Eigen/src/Core/util/Memory.h
@@ -1160,7 +1160,7 @@
 using std::construct_at;
 #else
 template<class T, class... Args>
-T* construct_at( T* p, Args&&... args )
+EIGEN_DEVICE_FUNC T* construct_at( T* p, Args&&... args )
 {
   return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
     T(std::forward<Args>(args)...);
@@ -1176,7 +1176,7 @@
 using std::destroy_at;
 #else
 template<class T>
-void destroy_at(T* p)
+EIGEN_DEVICE_FUNC void destroy_at(T* p)
 {
   p->~T();
 }