Depreciation of std::aligned_storage in C++23

Issue #606 duplicate
Paul Hargrove created an issue

Testing of g++ 13.1.0 with -std=c++23 yields the following warnings (truncated for brevity) when building the runtime OR compiling a simple application such as test/hello_upcxx.cpp:

include/upcxx/future/core.hpp:388:43: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-Wdeprecated-declarations]
include/upcxx/serialization.hpp:1274:23: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-Wdeprecated-declarations]
include/upcxx/serialization.hpp:1767:23: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-Wdeprecated-declarations]
include/upcxx/utility.hpp:329:19: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-Wdeprecated-declarations]
include/upcxx/utility.hpp:379:19: warning: 'template<long unsigned int _Len, long unsigned int _Align> struct std::aligned_storage' is deprecated [-Wdeprecated-declarations]

I believe (but have not confirmed) these are sufficient to cause GitLab CI failures, due to our use of -Werror, if one were to add --with-cflags=-std=c++23 to the configure arguments.

IF we believe there is sufficient user demand for C++23 in the near future, we may wish to pursue silencing these warnings.

Comments (2)

  1. Log in to comment