> eric@polaris:~/build/gcc/native/gcc> rm ada/sem_util.o > eric@polaris:~/build/gcc/native/gcc> make ADAFLAGS="-gnatpgn" > /home/eric/build/gcc/native/./prev-gcc/xgcc - > B/home/eric/build/gcc/native/./prev-gcc/ > -B/home/eric/install/gcc/x86_64-suse- linux/bin/ > -B/home/eric/install/gcc/x86_64-suse-linux/bin/ - > B/home/eric/install/gcc/x86_64-suse-linux/lib/ -isystem > /home/eric/install/gcc/x86_64-suse-linux/include -isystem > /home/eric/install/gcc/x86_64-suse-linux/sys-include -c -g -O2 -gnatpgn > - W -Wall -nostdinc -I- -I. -Iada/generated -Iada > -I/home/eric/svn/gcc/gcc/ada - I/home/eric/svn/gcc/gcc/ada/gcc-interface > /home/eric/svn/gcc/gcc/ada/sem_util.adb -o ada/sem_util.o > > raised STORAGE_ERROR : stack overflow or erroneous memory access > /home/eric/svn/gcc/gcc/ada/gcc-interface/Make-lang.in:119: recipe for target > 'ada/sem_util.o' failed
We have parent & child functions that are (partially) inlined into each other: --------------------------- -- Set_Debug_Info_Needed -- --------------------------- procedure Set_Debug_Info_Needed (T : Entity_Id) is procedure Set_Debug_Info_Needed_If_Not_Set (E : Entity_Id); pragma Inline (Set_Debug_Info_Needed_If_Not_Set); -- Used to set debug info in a related node if not set already -------------------------------------- -- Set_Debug_Info_Needed_If_Not_Set -- -------------------------------------- procedure Set_Debug_Info_Needed_If_Not_Set (E : Entity_Id) is begin if Present (E) and then not Needs_Debug_Info (E) then Set_Debug_Info_Needed (E); -- For a private type, indicate that the full view also needs -- debug information. if Is_Type (E) and then Is_Private_Type (E) and then Present (Full_View (E)) then Set_Debug_Info_Needed (Full_View (E)); end if; end if; end Set_Debug_Info_Needed_If_Not_Set; -- Start of processing for Set_Debug_Info_Needed so -fno-partial-inlining is a workaround. -- Eric Botcazou