Found this odd code. It starts fine with: gfc_ref *ref = gfc_get_ref (); this uses XCNEW to return nullified memory. We then operate on ref->u.ar where 'ar' is a struct which is in a 'u'nion which is in gfc_ref. Hence, 'ref->u.ar' is not a pointer. Hence, the following is a wasteful way to memset '\0' the struct – which is still '\0' from the first XCNEW: ref->u.ar = *gfc_get_array_ref() Note the '*' before the XCNEW calling macro gfc_get_array_ref! Committed as obvious. Tobias ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf