http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50838
--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-10-24 09:56:02 UTC --- Reduced testcase, fails with -O -ftree-vectorize: typedef void * gcv_object_t; typedef gcv_object_t object; typedef const void * Pseudofun; extern struct pseudocode_tab_ { Pseudofun pseudo_eql; Pseudofun pseudo_iconv_wcslen; Pseudofun pseudo_iconv_wcstombs; Pseudofun pseudo_iconv_range; } pseudocode_tab; extern struct symbol_tab_ { object pointer[1024]; } pseudofun_tab; int init_memory (void) { object* ptr2 = &pseudofun_tab.pointer[0]; const Pseudofun* ptr1 = (const Pseudofun*)&pseudocode_tab; unsigned int count = (sizeof(pseudocode_tab)/sizeof(Pseudofun)); while (count--) { *ptr2++ = (gcv_object_t)(((unsigned char *)((*ptr1)))); ptr1++; } }