[Bug c++/101663] [11/12 Regression] GCC crashes when assigning one single_view to another.

ppalka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Aug 3 14:29:30 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101663

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |10.3.0
      Known to fail|                            |10.1.0, 10.2.0, 11.1.0,
                   |                            |11.2.0, 12.0
   Target Milestone|---                         |11.3
            Summary|GCC crashes when assigning  |[11/12 Regression] GCC
                   |one single_view to another. |crashes when assigning one
                   |                            |single_view to another.
           Keywords|                            |ice-on-valid-code

--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced ICE-on-valid testcase:

#include <bits/stl_construct.h> // for std::construct_at

template <typename _Tp> struct __box {
  [[no_unique_address]] _Tp _M_value;
};

struct Empty { };

constexpr bool test() {
  __box<Empty> a;
  std::construct_at(&a._M_value);
  return true;
}

static_assert(test());


We went from rejecting to accepting this testcase with r11-3581 (which was also
backported to GCC 10.3).  We later went from accepting to ICEing with r11-6918.

So I suppose this is an 11/12 regression given that GCC 10.3 accepts the
testcase.


More information about the Gcc-bugs mailing list