------- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-12 18:54 ------- We used to get
memcpy (&c, &"12345678"[2], 6); [tail call] memcpy (&c, "123456", 6); [tail call] for expansion, but now we get D.2386_1 = (const void * restrict) "123456"; c.1_2 = (void * restrict) &c; memcpy (c.1_2, D.2386_1, 6); [tail call] and D.2383_1 = (const void * restrict) "12345678"; D.2384_2 = D.2383_1 + 2; c.0_3 = (void * restrict) &c; memcpy (c.0_3, D.2384_2, 6); [tail call] it's probably me that caused this - will have a look and add a target independent testcase. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-08-12 18:54:55 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41047