I just ran the most excellent tool cppcheck, from sourceforge, over the gcc source code. It said config/mep/mep.c:2856: (error) Uninitialized variable: frame_size I have checked the source code and I agree with cppcheck. The source code is int frame_size; int really_need_stack_frame = frame_size; which is fine as far as it goes, no problem in copying rubbish from one place in the stack to another, but the next use of local variable really_need_stack_frame is really_need_stack_frame |= mep_assign_save_slots (reg_save_size); which could lead to problems. Suggest initialise local variable really_need_stack_frame to something else, perhaps zero would suffice.
Subject: Bug 42312 Author: dj Date: Tue Dec 8 00:47:58 2009 New Revision: 155072 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155072 Log: PR c/42312 * config/mep/mep.c (mep_expand_prologue): Set really_need_stack_frame after frame_size is set. Modified: trunk/gcc/ChangeLog trunk/gcc/config/mep/mep.c
This seems FIXED per DJ's commit.