------- Additional Comments From uweigand at gcc dot gnu dot org 2005-02-14 18:55 ------- I guess this will fix this test case, but not the original Ada problem; what happens there is that the constructor has an initializer of the form ADDR_EXPR of CONSTRUCTOR. When SRA scalarizes this initializer, it is gimplified; the Ada-specific gimplification routine will replace the ADDR_EXPR of CONSTRUCTOR with the newly generated temporary at this point.
Your solution wouldn't help this case because the temporary isn't visible in the original constructor ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19853