aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch4.adb
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2011-08-02 10:44:29 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-02 12:44:29 +0200
commit62be5d0aad9a968382ad5299f47189ca2a8faa59 (patch)
treefbed311c0a95314e3f81e2593c9221c9618513f1 /gcc/ada/exp_ch4.adb
parenta20f43891384a48d94b627d240db8f9db41dc78a (diff)
downloadgcc-62be5d0aad9a968382ad5299f47189ca2a8faa59.zip
gcc-62be5d0aad9a968382ad5299f47189ca2a8faa59.tar.gz
gcc-62be5d0aad9a968382ad5299f47189ca2a8faa59.tar.bz2
sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
2011-08-02 Javier Miranda <miranda@adacore.com> * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-02 Javier Miranda <miranda@adacore.com> * 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 <miranda@adacore.com> * 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
Diffstat (limited to 'gcc/ada/exp_ch4.adb')
-rw-r--r--gcc/ada/exp_ch4.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index c8ba5e5..09d9e75 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -7502,6 +7502,13 @@ package body Exp_Ch4 is
Cond := Relocate_Node (Condition (N));
+ -- Reset flag analyzed in the condition to force its analysis. 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.
+
+ Reset_Analyzed_Flags (Cond);
+
if Is_Universal then
Cond := Make_Op_Not (Loc, Cond);
end if;