This is not exactly a bug and you can read about it here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49561
It's more of a case of compatibility with older versions of gcc. Looks like they really don't want to add an additional "data member".
Quoting:
This patch made c++98 and c++11 code incompatible and is causing serious problems for distros.
Where the patch
is the fix they implemented for gcc 4.7 (it was O(1) in it).
Another quote:
maintaining ABI compatibility has been decided to be more important for the current releases