From d347f5722f311a63908da11d492428af8f4563a4 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 26 Oct 2010 14:19:56 +0200 Subject: [multiple changes] 2010-10-26 Robert Dewar * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where appropriate. * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb, sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use this new abstraction where appropriate. 2010-10-26 Ed Schonberg * sem_ch12.adb: Code clean up. 2010-10-26 Paul Hilfinger * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on debugging data. 2010-10-26 Ed Schonberg * sem_util.adb (Note_Possible_Modification): If the target of an assignment is the bound variable in an iterator, the domain of iteration, i.e. array or container, is modified as well. 2010-10-26 Bob Duff * Make-generated.in: Make the relevant make targets depend on ceinfo.adb and csinfo.adb. * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure, so when called from xeinfo, the failure will be noticed. * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files. 2010-10-26 Ed Schonberg * exp_ch4.adb: Set properly parent field of operands of concatenation. 2010-10-26 Ed Schonberg * sem_res.adb (Check_Infinite_Recursion): A recursive call within a conditional expression or a case expression should not generate an infinite recursion warning. From-SVN: r165946 --- gcc/ada/sem_res.adb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gcc/ada/sem_res.adb') diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 784f6bd..0358ade 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -819,8 +819,10 @@ package body Sem_Res is if Nkind_In (P, N_Or_Else, N_And_Then, - N_If_Statement, - N_Case_Statement) + N_Case_Expression, + N_Case_Statement, + N_Conditional_Expression, + N_If_Statement) then return False; @@ -5277,7 +5279,7 @@ package body Sem_Res is and then Check_Infinite_Recursion (N) then -- Here we detected and flagged an infinite recursion, so we do - -- not need to test the case below for further warnings. Also if + -- not need to test the case below for further warnings. Also, if -- we now have a raise SE node, we are all done. if Nkind (N) = N_Raise_Storage_Error then @@ -10095,7 +10097,7 @@ package body Sem_Res is -- this situation can arise in source code. elsif In_Instance or else In_Inlined_Body then - return True; + return True; -- Otherwise we need the conversion check -- cgit v1.1