------- Comment #6 from paolo dot carlini at oracle dot com  2008-07-11 21:21 
-------
(In reply to comment #5)
> Isn't this the kind of thing that -Wstrict-aliasing or -Wstrict-aliasing=n
> should warn about?

Hi Benjamin. My guess is that any possible problem can only have to do with
some long standing weaknesses that we have in basic_string and we have big
troubles changing without breaking the ABI. Back when #pragma system header
didn't work with templates we suppressed a "may" aliasing warning in
_S_empty_rep (see comment), and there are chances it may have created actual
problems in 4_2-branch, per this PR. Currently, AFAIK, isn't possible to
reproduce such problems (Ian committed in 4_3 and mainline very important
aliasing-related fixes). 

Anyway, for the record, this patch of mine:

  http://gcc.gnu.org/ml/libstdc++/2008-07/msg00051.html

fixes this problem in 4_2-branch, passes abi-check. I think it's safe, I don't
think code linking vs the amended library can tell that the exported
_S_empty_rep_storage array changed type, because it's the same size and the
same alignment. If you can double-check may analysis we could imagine
committing it, somewhere.


-- 

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkoz at redhat dot com
   Last reconfirmed|2008-07-06 13:40:43         |2008-07-11 21:21:42
               date|                            |


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

Reply via email to