------- Comment #2 from rguenth at gcc dot gnu dot org 2009-04-17 09:18 ------- This would be "inlining" of static-initialization-and-destruction functions if they get optimized to return a constant initializer.
It's not easy to do as they cannot be easily removed late in the compilation. Of course this particular simple case can be handled by folding. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37949