[Bug libstdc++/54388] std::array.at() const results in undefined behaviour

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Aug 28 08:19:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54388

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-08-28
     Ever Confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-28 08:19:25 UTC ---
Confirmed

#include <array>
#include <cassert>

struct A
{
  bool valid = true;
  ~A() { valid = false; }
};

int main()
{
  const std::array<A, 1> a;
  const A& aa = a.at(0);
  assert(aa.valid);
}



More information about the Gcc-bugs mailing list