http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59198
--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Paul Thomas from comment #6) > if (src->rng._data != 0B) > { > dst->rng._data = (struct rng_t *) __builtin_malloc ((unsigned > long) src->rng._vptr->_size); > src->rng._vptr->_copy (src->rng._data, dst->rng._data); > } Could this be caused by a NULL pointer? Namely, Malloc returns: "If size is 0, either a null pointer or a unique pointer that can be successfully passed to free() shall be returned."