http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48165
Summary: gcc-4.6: internal compiler error: in build2_stat Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: holger.h...@sap.com gcc-4.6 and trunk (rev. 171047) throw an internal compiler error. $ g++ -O2 -c t.cpp t.cpp: In function ‘void bar(void*)’: t.cpp:31:6: internal compiler error: in build2_stat, at tree.c:3799 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -O0 runs fine, platform: linux, x86_64, but probably platform-independent source t.cpp: typedef long unsigned int size_t; extern "C" { extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void * memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len) throw () { return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } } typedef char TCODE[20]; typedef TCODE TCODE_ARRAY[5]; typedef struct PARAM { TCODE_ARRAY tcode; } PARAM; static void foo (void* p) { char buffer[4+sizeof(PARAM)]; PARAM *param = (PARAM *)(buffer + 4); int i; for (i=0; i < 5; i++) { memcpy( param->tcode[i], p, 20 ); } } void bar (void* p) { foo (p); }