Daniel Jacobowitz <[EMAIL PROTECTED]> writes: > On Tue, Oct 29, 2002 at 11:33:49PM +0100, Andreas Schwab wrote: > That works, patch attached. With this I can use -O2 on i386 again - > it's not a pretty patch but it does work at least :) My understanding > is that this uses a GCC extension which says that accesses through a > union may alias either member - does anyone know a standard C way of > dealing with this situation? > > [That is: two pointers to a buffer, of different types; walk through > the buffer, reading one object of the first type and writing out an > object of the second lesser-or-equal sized type.]
No, there's no standard C way to do that. An object can only have one type at a time. You have to use another buffer as an intermediate. > At least in a compiler without any interprocedural optimization you > could do this by having a function to convert one object. If the > function was inlined, would we have the same problem again someday? Yes. -- - Geoffrey Keating <[EMAIL PROTECTED]>

