------- Comment #5 from mmitchel at gcc dot gnu dot org 2008-01-20 20:13 ------- This is a known bug in the Itanium C++ ABI. ARM noticed this; there variant of the C++ ABI has the additional is_reference parameter precisely to correctly handle this case.
I looked at this in some detail at one point and concluded that the only ways we could fix it would require a binary-compatibility break with previous releases. Perhaps the next major libstdc++ upgrade would be a good opportunity for that. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23257