diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-09 13:11:10 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-09 13:11:10 +0000 |
commit | 7cab648ccbe25a50c551ce67f44c7312f9edebf9 (patch) | |
tree | e094eb8cc06e7ff52241dd85c1d764ccfe75cb47 /gcc/ada | |
parent | f41ce91a35c89a2df3284c3b665fbecbc13da3cf (diff) | |
download | gcc-7cab648ccbe25a50c551ce67f44c7312f9edebf9.tar.gz |
2009-04-09 Nicolas Setton <setton@adacore.com>
* s-osinte-darwin.ads: Fix wrong binding to struc timeval.
* s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
struct_timeval.
2009-04-09 Bob Duff <duff@adacore.com>
* exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
internally-generated nodes related to select statements to avoid
confusing the debugger.
2009-04-09 Pascal Obry <obry@adacore.com>
* make.adb: Ensure that all linker arguments are duplicated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145838 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/ada/exp_ch5.adb | 2 | ||||
-rw-r--r-- | gcc/ada/exp_ch9.adb | 49 | ||||
-rw-r--r-- | gcc/ada/make.adb | 3 | ||||
-rw-r--r-- | gcc/ada/s-osinte-darwin.adb | 6 | ||||
-rw-r--r-- | gcc/ada/s-osinte-darwin.ads | 2 |
6 files changed, 49 insertions, 30 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 191ef1a5546..12633e79b14 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,20 @@ +2009-04-09 Nicolas Setton <setton@adacore.com> + + * s-osinte-darwin.ads: Fix wrong binding to struc timeval. + + * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of + struct_timeval. + +2009-04-09 Bob Duff <duff@adacore.com> + + * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in + internally-generated nodes related to select statements to avoid + confusing the debugger. + +2009-04-09 Pascal Obry <obry@adacore.com> + + * make.adb: Ensure that all linker arguments are duplicated. + 2009-04-09 Robert Dewar <dewar@adacore.com> * sem_ch5.adb: Minor reformatting diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb index b20d5685ac1..83f20774cb0 100644 --- a/gcc/ada/exp_ch5.adb +++ b/gcc/ada/exp_ch5.adb @@ -3631,7 +3631,7 @@ package body Exp_Ch5 is Call := Make_Procedure_Call_Statement (Loc, Name => New_Reference_To - (RTE (RE_Complete_Rendezvous), Loc)); + (RTE (RE_Complete_Rendezvous), No_Location)); Insert_Before (N, Call); -- why not insert actions here??? Analyze (Call); diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index b0e81eb6490..bff65b361d6 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -740,7 +740,7 @@ package body Exp_Ch9 is -- processing, has already been added for the expansion of requeue -- statements. - Call := Build_Runtime_Call (Loc, RE_Complete_Rendezvous); + Call := Build_Runtime_Call (No_Location, RE_Complete_Rendezvous); Insert_Before (Last (Statements (Stats)), Call); Analyze (Call); @@ -751,7 +751,7 @@ package body Exp_Ch9 is Hand := First (Exception_Handlers (Stats)); while Present (Hand) loop - Call := Build_Runtime_Call (Loc, RE_Complete_Rendezvous); + Call := Build_Runtime_Call (No_Location, RE_Complete_Rendezvous); Append (Call, Statements (Hand)); Analyze (Call); Next (Hand); @@ -786,13 +786,13 @@ package body Exp_Ch9 is Exception_Choices => New_List (Ohandle), Statements => New_List ( - Make_Procedure_Call_Statement (Loc, + Make_Procedure_Call_Statement (No_Location, Name => New_Reference_To ( - RTE (RE_Exceptional_Complete_Rendezvous), Loc), + RTE (RE_Exceptional_Complete_Rendezvous), No_Location), Parameter_Associations => New_List ( - Make_Function_Call (Loc, + Make_Function_Call (No_Location, Name => New_Reference_To ( - RTE (RE_Get_GNAT_Exception), Loc)))))))); + RTE (RE_Get_GNAT_Exception), No_Location)))))))); Set_Parent (New_S, Astat); -- temp parent for Analyze call Analyze_Exception_Handlers (Exception_Handlers (New_S)); @@ -4663,14 +4663,14 @@ package body Exp_Ch9 is while Present (Formal) loop Comp := Entry_Component (Formal); New_F := - Make_Defining_Identifier (Sloc (Formal), Chars (Formal)); + Make_Defining_Identifier (Loc, Chars (Formal)); Set_Etype (New_F, Etype (Formal)); Set_Scope (New_F, Ent); - -- Now we set debug info needed on New_F even though it does - -- not come from source, so that the debugger will get the - -- right information for these generated names. + -- Now we set debug info needed on New_F even though it does + -- not come from source, so that the debugger will get the + -- right information for these generated names. Set_Debug_Info_Needed (New_F); @@ -8561,6 +8561,7 @@ package body Exp_Ch9 is procedure Add_Accept (Alt : Node_Id) is Acc_Stm : constant Node_Id := Accept_Statement (Alt); Ename : constant Node_Id := Entry_Direct_Name (Acc_Stm); + Eloc : constant Source_Ptr := Sloc (Ename); Eent : constant Entity_Id := Entity (Ename); Index : constant Node_Id := Entry_Index (Acc_Stm); Null_Body : Node_Id; @@ -8576,29 +8577,29 @@ package body Exp_Ch9 is if Present (Condition (Alt)) then Expr := - Make_Conditional_Expression (Loc, New_List ( + Make_Conditional_Expression (Eloc, New_List ( Condition (Alt), - Entry_Index_Expression (Loc, Eent, Index, Scope (Eent)), - New_Reference_To (RTE (RE_Null_Task_Entry), Loc))); + Entry_Index_Expression (Eloc, Eent, Index, Scope (Eent)), + New_Reference_To (RTE (RE_Null_Task_Entry), Eloc))); else Expr := Entry_Index_Expression - (Loc, Eent, Index, Scope (Eent)); + (Eloc, Eent, Index, Scope (Eent)); end if; if Present (Handled_Statement_Sequence (Accept_Statement (Alt))) then - Null_Body := New_Reference_To (Standard_False, Loc); + Null_Body := New_Reference_To (Standard_False, Eloc); if Abort_Allowed then - Call := Make_Procedure_Call_Statement (Loc, - Name => New_Reference_To (RTE (RE_Abort_Undefer), Loc)); + Call := Make_Procedure_Call_Statement (Eloc, + Name => New_Reference_To (RTE (RE_Abort_Undefer), Eloc)); Insert_Before (First (Statements (Handled_Statement_Sequence ( Accept_Statement (Alt)))), Call); Analyze (Call); end if; PB_Ent := - Make_Defining_Identifier (Sloc (Ename), + Make_Defining_Identifier (Eloc, New_External_Name (Chars (Ename), 'A', Num_Accept)); if Comes_From_Source (Alt) then @@ -8606,9 +8607,9 @@ package body Exp_Ch9 is end if; Proc_Body := - Make_Subprogram_Body (Loc, + Make_Subprogram_Body (Eloc, Specification => - Make_Procedure_Specification (Loc, + Make_Procedure_Specification (Eloc, Defining_Unit_Name => PB_Ent), Declarations => Declarations (Acc_Stm), Handled_Statement_Sequence => @@ -8624,7 +8625,7 @@ package body Exp_Ch9 is Append (Proc_Body, Body_List); else - Null_Body := New_Reference_To (Standard_True, Loc); + Null_Body := New_Reference_To (Standard_True, Eloc); -- if accept statement has declarations, insert above, given that -- we are not creating a body for the accept. @@ -8635,7 +8636,7 @@ package body Exp_Ch9 is end if; Append_To (Accept_List, - Make_Aggregate (Loc, Expressions => New_List (Null_Body, Expr))); + Make_Aggregate (Eloc, Expressions => New_List (Null_Body, Expr))); Num_Accept := Num_Accept + 1; end Add_Accept; @@ -8705,9 +8706,9 @@ package body Exp_Ch9 is Make_Integer_Literal (Loc, Index)); Alt_Stats := New_List ( - Make_Procedure_Call_Statement (Loc, + Make_Procedure_Call_Statement (Sloc (Proc), Name => New_Reference_To ( - Defining_Unit_Name (Specification (Proc)), Loc))); + Defining_Unit_Name (Specification (Proc)), Sloc (Proc)))); end if; if Statements (Alt) /= Empty_List then diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index 7a0e1e032ab..57f0cfb50fe 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -6453,7 +6453,8 @@ package body Make is else Last_Arg := Last_Arg + 1; - Args (Last_Arg) := Linker_Switches.Table (J); + Args (Last_Arg) := + new String'(Linker_Switches.Table (J).all); end if; end loop; diff --git a/gcc/ada/s-osinte-darwin.adb b/gcc/ada/s-osinte-darwin.adb index c06228e2ca2..40a125c747f 100644 --- a/gcc/ada/s-osinte-darwin.adb +++ b/gcc/ada/s-osinte-darwin.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1999-2006 Free Software Foundation, Inc. -- +-- Copyright (C) 1999-2008, Free Software Foundation, Inc. -- -- -- -- GNARL is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -95,11 +95,11 @@ package body System.OS_Interface is ---------------- function To_Timeval (D : Duration) return struct_timeval is - S : int32_t; + S : time_t; F : Duration; begin - S := int32_t (D); + S := time_t (D); F := D - Duration (S); -- If F has negative value due to a round-up, adjust for positive F diff --git a/gcc/ada/s-osinte-darwin.ads b/gcc/ada/s-osinte-darwin.ads index 2a3b9282b52..93dfc6b96df 100644 --- a/gcc/ada/s-osinte-darwin.ads +++ b/gcc/ada/s-osinte-darwin.ads @@ -525,7 +525,7 @@ private CLOCK_REALTIME : constant clockid_t := 0; type struct_timeval is record - tv_sec : int32_t; + tv_sec : time_t; tv_usec : int32_t; end record; pragma Convention (C, struct_timeval); |