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 ...

Reply via email to