------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-02 19:31 ------- (In reply to comment #6) > I am thinking this was caused by the patch for PR c++/23099. I should say how I came to this conclusion. The only non front-end patches which changes code gen that went on both branches are:
2005-08-31 Richard Henderson <[EMAIL PROTECTED]> * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs into a pseudo before applying gen_lowpart. 2005-08-30 Richard Henderson <[EMAIL PROTECTED]> PR target/23630 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart whenever the mode sizes match. But that should only improve things and not hurt things as we are no longer storing things on stacks. And then the it could only be a C++ patch and that is the one only went in around the time noted here which could have caused a code gen: 2005-08-30 Volker Reichelt <[EMAIL PROTECTED]> PR c++/23586 * parser.c (cp_parser_namespace_name): Move diagnostic for invalid namespace-name to here from ... * name-lookup.c (do_namespace_alias): ... here and ... (do_using_directive): ... here. Remove dead code. 2005-08-28 Mark Mitchell <[EMAIL PROTECTED]> PR c++/23099 * cp-tree.h (saved_scope): Add skip_evaluation. * decl.c (start_decl): Use DECL_INITIALIZED_IN_CLASS_P, not DECL_INITIAL, to determine whether or not a static data member was initialized in the class-specifier. (cp_finish_decl): Add comment. * init.c (integral_constant_value): Subtitute into the initializers for static data members in templates. * name-lookup.c (push_to_top_level): Save skip_evaluation. (pop_from_top_level): Restore it. * pt.c (instantiate_class_template): Do not substitute into the intializers of static data members when instantiating a class. (regenerate_decl_from_template): Simplify. (instantiate_decl): Tidy. Substitute into the initializer for a static data member even when the definition of the data member is not available. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667