------- Comment #1 from pinskia at gcc dot gnu dot org 2006-05-15 23:29 ------- This is a middle-end issue when expanding: a->b = {}; it creates a huge array on the stack. In 4.0.3, we created a huge array on the heap which is just as wrong but not as bad even though some heaps are limited (SPU). We should just have one memset and no memcpy.
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|c++ |middle-end Ever Confirmed|0 |1 GCC build triplet|i686-pc-linux-gnu | GCC host triplet|i686-pc-linux-gnu | GCC target triplet|i686-pc-linux-gnu | Keywords| |missed-optimization Known to fail| |4.1.0 4.2.0 Known to work| |4.0.3 Last reconfirmed|0000-00-00 00:00:00 |2006-05-15 23:29:46 date| | Summary|g++.dg/init/array15.C uses |[4.1/4.2 Regression] |4MB stack space |g++.dg/init/array15.C uses | |4MB stack space Target Milestone|--- |4.1.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27620