exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA mode.
authorJohannes Kanig <kanig@adacore.com>
Mon, 29 Aug 2011 13:26:02 +0000 (13:26 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 29 Aug 2011 13:26:02 +0000 (15:26 +0200)
2011-08-29  Johannes Kanig  <kanig@adacore.com>

* exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
mode.
* gnat1drv.adb (Adjust_Global_Switches): Set
Use_Expressions_With_Actions to False in ALFA mode.
* sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
ALFA mode.

From-SVN: r178223

gcc/ada/ChangeLog
gcc/ada/exp_ch4.adb
gcc/ada/gnat1drv.adb
gcc/ada/sem_res.adb

index d2010209ec25fb7bf7925211c5201b541afb183f..7e3b17366faf7683851f07c8847d10eb161c5b7d 100644 (file)
@@ -1,3 +1,12 @@
+2011-08-29  Johannes Kanig  <kanig@adacore.com>
+
+       * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
+       mode.
+       * gnat1drv.adb (Adjust_Global_Switches): Set
+       Use_Expressions_With_Actions to False in ALFA mode.
+       * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
+       ALFA mode.
+
 2011-08-29  Yannick Moy  <moy@adacore.com>
 
        * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
index c4957222e7dd1a4f45f77d6aff156feedccdd573..55ea87a79be3ba932639e5e38c22867d5c13cd22 100644 (file)
@@ -7593,6 +7593,10 @@ package body Exp_Ch4 is
       Test         : Node_Id;
 
    begin
+      if ALFA_Mode then
+         return;
+      end if;
+
       Decl :=
         Make_Object_Declaration (Loc,
           Defining_Identifier => Tnn,
index 3924190a2508660fbcb8072bee99c8b6882c1485..561953307734324d52cfbc059eed46e5e3d94eff 100644 (file)
@@ -351,9 +351,10 @@ procedure Gnat1drv is
       if Debug_Flag_Dot_XX then
          Use_Expression_With_Actions := True;
 
-      --  Debug flag -gnatd.Y decisively sets usage off
+      --  Debug flag -gnatd.Y and -gnatd.F (Alfa Mode) decisively set usage
+      --  off
 
-      elsif Debug_Flag_Dot_YY then
+      elsif Debug_Flag_Dot_YY or Debug_Flag_Dot_FF then
          Use_Expression_With_Actions := False;
 
       --  Otherwise this feature is implemented, so we allow its use
index 7d47bbeb05a133a322d3bd46c1bf6d44f67738e5..375ca904a82dbe20cd1d964b8f3f0e80db72e5de 100644 (file)
@@ -8082,14 +8082,23 @@ package body Sem_Res is
 
    procedure Resolve_Quantified_Expression (N : Node_Id; Typ : Entity_Id) is
    begin
-      --  The loop structure is already resolved during its analysis, only the
-      --  resolution of the condition needs to be done. Expansion is disabled
-      --  so that checks and other generated code are inserted in the tree
-      --  after expression has been rewritten as a loop.
+      if not ALFA_Mode then
 
-      Expander_Mode_Save_And_Set (False);
-      Resolve (Condition (N), Typ);
-      Expander_Mode_Restore;
+         --  The loop structure is already resolved during its analysis, only
+         --  the resolution of the condition needs to be done. Expansion is
+         --  disabled so that checks and other generated code are inserted in
+         --  the tree after expression has been rewritten as a loop.
+
+         Expander_Mode_Save_And_Set (False);
+         Resolve (Condition (N), Typ);
+         Expander_Mode_Restore;
+      else
+
+         --  In ALFA_Mode, no such magic needs to happen, we just resolve the
+         --  underlying nodes
+
+         Resolve (Condition (N), Typ);
+      end if;
    end Resolve_Quantified_Expression;
 
    -------------------