From 62be5d0aad9a968382ad5299f47189ca2a8faa59 Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Tue, 2 Aug 2011 10:44:29 +0000 Subject: sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. 2011-08-02 Javier Miranda * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-02 Javier Miranda * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to determine if the analysis is performed using N or Original_Node (N). * exp_util.adb (Side_Effect_Free): Code cleanup since the new functionality of routine Is_Variable avoids code duplication. * checks.adb (Determine_Range): Handle temporaries generated by Remove_Side_Effects. 2011-08-02 Javier Miranda * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and expansion of the condition. Required since the previous analysis was done with expansion disabled (see Resolve_Quantified_Expression) and hence checks were not inserted and record comparisons have not been expanded. From-SVN: r177132 --- gcc/ada/sem_util.ads | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc/ada/sem_util.ads') diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index d10b53f..6625d3f 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -866,13 +866,18 @@ package Sem_Util is -- object used to represent access-to-subprogram types. This is only -- relevant to CIL, will always return false for other targets. - function Is_Variable (N : Node_Id) return Boolean; + function Is_Variable + (N : Node_Id; + Use_Original_Node : Boolean := True) return Boolean; -- Determines if the tree referenced by N represents a variable, i.e. can -- appear on the left side of an assignment. There is one situation (formal -- parameters) in which non-tagged type conversions are also considered -- variables, but Is_Variable returns False for such cases, since it has -- no knowledge of the context. Note that this is the point at which -- Assignment_OK is checked, and True is returned for any tree thus marked. + -- Use_Original_Node is used to perform the test on Original_Node (N). By + -- default is True since this routine is commonly invoked as part of the + -- semantic analysis and it must not be disturbed by the rewriten nodes. function Is_Visibly_Controlled (T : Entity_Id) return Boolean; -- Check whether T is derived from a visibly controlled type. This is true -- cgit v1.1