[Bug libstdc++/92570] [8/9/10 Regression] clang fails to instantiate std::optional if A is not const copy constructible

2020-01-30 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92570

Ville Voutilainen  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Ville Voutilainen  ---
This is http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0641r2.html
which clang implements only in c++2a mode, because those core issues were never
explicitly marked DR. We could almost fix this on the library side by removing
the =default from _Optional_payload_base, but _Optional_payload would still run
into this problem. This is not worth library heroics.

[Bug libstdc++/92570] [8/9/10 Regression] clang fails to instantiate std::optional if A is not const copy constructible

2020-01-30 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92570

Ville Voutilainen  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||ville.voutilainen at gmail dot 
com
   Assignee|unassigned at gcc dot gnu.org  |ville.voutilainen at 
gmail dot com

[Bug libstdc++/92570] [8/9/10 Regression] clang fails to instantiate std::optional if A is not const copy constructible

2020-01-30 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92570

Jonathan Wakely  changed:

   What|Removed |Added

  Known to work||7.5.0
Summary|clang fails to instantiate  |[8/9/10 Regression] clang
   |std::optional if A is|fails to instantiate
   |not const copy  |std::optional if A is
   |constructible   |not const copy
   ||constructible
  Known to fail||10.0, 8.3.0, 9.2.0

--- Comment #2 from Jonathan Wakely  ---
Marking as a regression, since clang is happy with the libstdc++ headers from
GCC 7. I haven't analysed where the bug is yet though.