diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 13:33:32 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 13:33:32 +0000 |
commit | 15f3d9888ce2a021c4b42032a3a051c07b5bdcad (patch) | |
tree | 2cd208abe1d4a90b529b90894e8a74cc9c7d3425 | |
parent | 6c5f0aa07837db864367d79a9a8dbb7c329ef31e (diff) | |
download | gcc-15f3d9888ce2a021c4b42032a3a051c07b5bdcad.tar.gz |
2011-08-29 Yannick Moy <moy@adacore.com>
* exp_ch13.adb: Adjust previous change.
2011-08-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
exp_ch4.adb, sem_ch8.adb: Minor code reorganization
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178226 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ada/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/ada/exp_ch13.adb | 7 | ||||
-rw-r--r-- | gcc/ada/exp_ch4.adb | 3 | ||||
-rw-r--r-- | gcc/ada/gnat1drv.adb | 3 | ||||
-rw-r--r-- | gcc/ada/prj.adb | 13 | ||||
-rw-r--r-- | gcc/ada/sem_ch8.adb | 3 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 1 | ||||
-rw-r--r-- | gcc/ada/sem_res.adb | 7 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 12 |
9 files changed, 40 insertions, 19 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f96c6c882dc..6d02bc6dd38 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,13 @@ +2011-08-29 Yannick Moy <moy@adacore.com> + + * exp_ch13.adb: Adjust previous change. + +2011-08-29 Robert Dewar <dewar@adacore.com> + + * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb, + exp_ch4.adb, sem_ch8.adb: Minor code reorganization + Minor reformatting. + 2011-08-29 Emmanuel Briot <briot@adacore.com> * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also diff --git a/gcc/ada/exp_ch13.adb b/gcc/ada/exp_ch13.adb index 068ba582bb3..a6890d72746 100644 --- a/gcc/ada/exp_ch13.adb +++ b/gcc/ada/exp_ch13.adb @@ -307,13 +307,6 @@ package body Exp_Ch13 is Delete : Boolean := False; begin - -- In formal verification mode, do not generate useless and confusing - -- expansion for freeze nodes. - - if ALFA_Mode then - return; - end if; - -- If there are delayed aspect specifications, we insert them just -- before the freeze node. They are already analyzed so we don't need -- to reanalyze them (they were analyzed before the type was frozen), diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 55ea87a79be..8ac78ac1f5e 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -7593,6 +7593,9 @@ package body Exp_Ch4 is Test : Node_Id; begin + -- Do not expand quantified expressions in ALFA mode + -- why not??? + if ALFA_Mode then return; end if; diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 6c1292e7b70..daab3d0be30 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -351,7 +351,7 @@ procedure Gnat1drv is if Debug_Flag_Dot_XX then Use_Expression_With_Actions := True; - -- Debug flag -gnatd.Y decisively set usage off + -- Debug flag -gnatd.Y decisively sets usage off elsif Debug_Flag_Dot_YY then Use_Expression_With_Actions := False; @@ -445,6 +445,7 @@ procedure Gnat1drv is Debug_Flag_HH := True; -- Disable Expressions_With_Actions nodes + -- The gnat2why backend does not deal with Expressions_With_Actions -- in all places (in particular assertions). It is difficult to -- determine in the frontend which cases are allowed, so we disable diff --git a/gcc/ada/prj.adb b/gcc/ada/prj.adb index 63fb12759de..626b8eee0d7 100644 --- a/gcc/ada/prj.adb +++ b/gcc/ada/prj.adb @@ -1288,7 +1288,8 @@ package body Prj is Tree : Project_Tree_Ref) is procedure Analyze_Tree - (Local_Root : Project_Id; Local_Tree : Project_Tree_Ref); + (Local_Root : Project_Id; + Local_Tree : Project_Tree_Ref); -- Process Project and all its aggregated project to analyze their own -- imported projects. @@ -1297,7 +1298,8 @@ package body Prj is ------------------ procedure Analyze_Tree - (Local_Root : Project_Id; Local_Tree : Project_Tree_Ref) + (Local_Root : Project_Id; + Local_Tree : Project_Tree_Ref) is pragma Unreferenced (Local_Root); @@ -1320,8 +1322,8 @@ package body Prj is Dummy : in out Boolean) is pragma Unreferenced (Dummy, Tree); - List : Project_List; - Prj2 : Project_Id; + List : Project_List; + Prj2 : Project_Id; begin -- A project is not importing itself @@ -1357,6 +1359,7 @@ package body Prj is Dummy : Boolean := False; List : Project_List; + begin List := Local_Tree.Projects; while List /= null loop @@ -1372,6 +1375,8 @@ package body Prj is procedure For_Aggregates is new For_Project_And_Aggregated (Analyze_Tree); + -- Start of processing for Compute_All_Imported_Projects + begin For_Aggregates (Root_Project, Tree); end Compute_All_Imported_Projects; diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index deb25af6606..46bdf73ab0d 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -5542,7 +5542,6 @@ package body Sem_Ch8 is Scope_Depth (Old_S) then return Old_S; - else return It.Nam; end if; @@ -5555,7 +5554,7 @@ package body Sem_Ch8 is return Report_Overload; end if; - -- If not within an instance, ambiguity is real. + -- If not within an instance, ambiguity is real else return Report_Overload; diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 081d9aeffef..c16a671e0d3 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -13326,6 +13326,7 @@ package body Sem_Prag is if Arg_Count = 4 then Check_Identifier (Arg3, Name_Requires); Check_Identifier (Arg4, Name_Ensures); + elsif Arg_Count = 3 then Check_Identifier_Is_One_Of (Arg3, Name_Requires, Name_Ensures); end if; diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index ab57f46f7e8..f56b849cbed 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -8076,6 +8076,8 @@ package body Sem_Res is procedure Resolve_Quantified_Expression (N : Node_Id; Typ : Entity_Id) is begin + -- Normal mode (not ALFA) + if not ALFA_Mode then -- The loop structure is already resolved during its analysis, only @@ -8086,11 +8088,10 @@ package body Sem_Res is 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. + -- In ALFA_Mode, no magic needed, we just resolve the underlying nodes + else Resolve (Condition (N), Typ); end if; end Resolve_Quantified_Expression; diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 86c57267b65..814eaa4e965 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -4274,7 +4274,7 @@ package body Sem_Util is function Get_Ensures_From_Test_Case_Pragma (N : Node_Id) return Node_Id is Args : constant List_Id := Pragma_Argument_Associations (N); - Res : Node_Id := Empty; + Res : Node_Id; begin if List_Length (Args) = 4 then @@ -4282,9 +4282,13 @@ package body Sem_Util is elsif List_Length (Args) = 3 then Res := Pick (Args, 3); + if Chars (Res) /= Name_Ensures then Res := Empty; end if; + + else + Res := Empty; end if; return Res; @@ -4436,14 +4440,18 @@ package body Sem_Util is function Get_Requires_From_Test_Case_Pragma (N : Node_Id) return Node_Id is Args : constant List_Id := Pragma_Argument_Associations (N); - Res : Node_Id := Empty; + Res : Node_Id; begin if List_Length (Args) >= 3 then Res := Pick (Args, 3); + if Chars (Res) /= Name_Requires then Res := Empty; end if; + + else + Res := Empty; end if; return Res; |