My question is, why do we need that whole block for massaging VAR_DECL initializers? That all ought to be handled properly by cp_finish_decl. Does removing everything after > else if (!VAR_P (value)) > gcc_unreachable (); work? Jason