https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68436
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Target Milestone|--- |5.3 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, certainly malloc () is not supposed to read from x->sm.sm_buffer if that is what it does (not sure, the malloc implementation is not visible). So I suppose what happens is that alloc_object () allocates from GC, that GC knows that sm.sm_buffer is a pointer to other GC memory and the call to malloc () triggers a GC run? In that case yes, malloc () is not supposed to do GC. If it does you need to use -fno-builtin-malloc/free. I consider this bug invalid.