------- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26 01:40 ------- Here is a testcase which fails on all targets which shows a testcase where both sides have side effects: struct g{}; char y[3]; char *f = &y[0]; char *ff = &y[0]; void h(void) { *((struct g*)(f++)) = *((struct g*)(ff++)); }
void abort (void); int main(void) { h(); if (f != &y[1]) abort(); if (ff != &y[1]) abort(); } -- What |Removed |Added ---------------------------------------------------------------------------- GCC target triplet|pass via ref zero sized | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23463