https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114913
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is a C++11 testcase: ``` struct strt { char *_M_dataplus; char _M_local_buf=0; constexpr strt() : _M_dataplus(&_M_local_buf) {} constexpr strt(const strt &__str) : _M_dataplus(&_M_local_buf) {} }; constexpr strt f() { return {}; } constexpr strt HelloWorld = f(); const char *a() { return HelloWorld._M_dataplus; } ``` it was rejected before GCC 10 with the following error message: ``` <source>:13:31: error: 'strt{(&<anonymous>.strt::_M_local_buf), '\000'}' is not a constant expression 13 | constexpr strt HelloWorld = f(); | ^ ``` Maybe that will give an hint where the issue is ...