It is worth noting that the isl code extensively requires designated initialisers on anonymous structs. It isn't clear to me when gcc introduced support for this but it isn't in 4.2. Would you accept patches to remove them?