This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Better detection of infinite recursion


Tested on i686-linux, committed on trunk

GCC PR33826 prompted this change:

Consider this program

procedure U is
begin
   U;
end U;

This patch improves the handling of infinite recursion checking
in the front end so that we now get:

u.adb:3:04: warning: infinite recursion
u.adb:3:04: warning: Storage_Error will be raised at run time

and if executed, we get:

raised STORAGE_ERROR : u.adb:3 infinite recursion

2008-03-26  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
	recursion and raise SE directly.
	(Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
	set for formal type for IN mode parameter.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]