> (1) Try my scheduling barrier idea, where we introduce a volatile asm > equivalent between the clearing and the normal assignment. I know this > is potentially pessimizing, but in practice the pessimization will > probably be slight. > > (2) In the unsafe case, implement the C99 rule by explicitly clearing > each individual field. In other words, iterate through the fields, > clearing all of the fields that do not have an explicit CONSTRUCTOR_ELT. > > I think (1) will probably be less pessimizing that (2). Are you willing > to give that a try? The attached patch fixes PR opt/13424 (both on PA and UltraSPARC) and doesn't do any harm to the testcase on x86. OK for mainline and 3.4 branch after a complete testing cycle on x86? 2004-03-18 Eric Botcazou Mark Mitchell PR optimization/13424 * expr.c (store_constructor): Emit a blockage after clearing the aggregate because of an incomplete or mostly zero constructor. -- Eric Botcazou