------- Comment #4 from pinskia at gcc dot gnu dot org 2006-11-24 02:34 ------- (In reply to comment #3) > The C standard permits structures to have common layout for *initial* elements > and casting between these *is* permitted. But your code is taking the > address > of an element in the *middle* of the structure and this has no defined > behaviour in the standard. Consider, for example
The only time the C standard mentions initial elements is with respect of unions and not aliasing. In terms of aliasing it mentions about structs containing other structs but that is common sense there :). So this testcase is invalid too. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED GCC build triplet|arm-rtems-gcc -O2 -g -c | |test.c | Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29907