From e4dc33272aaa7bb8660b94019627cba85740a49c Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 20 Feb 2015 12:57:55 +0100 Subject: [PATCH] [multiple changes] 2015-02-20 Gary Dismukes * sem_res.adb: Minor reformatting. 2015-02-20 Vincent Celier * switch-c.adb (Scan_Front_End_Switches): When comparing runtime path name for several switches --RTS, use the normalized path names. 2015-02-20 Vincent Celier * bindgen.adb: Minor reformatting and code reorganization. 2015-02-20 Jose Ruiz * a-stcoed.ads: Add spec for this package (Unimplemented_Unit). * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as defined by Ada 2012. From-SVN: r220853 --- gcc/ada/ChangeLog | 20 ++++++++++++++++++++ gcc/ada/a-stcoed.ads | 31 +++++++++++++++++++++++++++++++ gcc/ada/bindgen.adb | 31 +++++++++++++++++-------------- gcc/ada/impunit.adb | 1 + gcc/ada/sem_res.adb | 10 +++++----- gcc/ada/switch-c.adb | 7 +++++-- 6 files changed, 79 insertions(+), 21 deletions(-) create mode 100644 gcc/ada/a-stcoed.ads diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cdaacd25330..c277bb877f7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,23 @@ +2015-02-20 Gary Dismukes + + * sem_res.adb: Minor reformatting. + +2015-02-20 Vincent Celier + + * switch-c.adb (Scan_Front_End_Switches): When comparing runtime + path name for several switches --RTS, use the normalized path + names. + +2015-02-20 Vincent Celier + + * bindgen.adb: Minor reformatting and code reorganization. + +2015-02-20 Jose Ruiz + + * a-stcoed.ads: Add spec for this package (Unimplemented_Unit). + * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as + defined by Ada 2012. + 2015-02-20 Arnaud Charlet * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove diff --git a/gcc/ada/a-stcoed.ads b/gcc/ada/a-stcoed.ads new file mode 100644 index 00000000000..a6436ff10c9 --- /dev/null +++ b/gcc/ada/a-stcoed.ads @@ -0,0 +1,31 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME COMPONENTS -- +-- -- +-- A D A . S Y N C H R O N O U S _ T A S K _ C O N T R O L . E D F -- +-- -- +-- S p e c -- +-- -- +-- This specification is derived from the Ada Reference Manual for use with -- +-- GNAT. In accordance with the copyright of that document, you can freely -- +-- copy and modify this specification, provided that if you redistribute a -- +-- modified version, any changes that you have made are clearly indicated. -- +-- -- +------------------------------------------------------------------------------ + +-- This unit is not implemented in typical GNAT implementations that lie on +-- top of operating systems, because it is infeasible to implement in such +-- environments. + +-- If a target environment provides appropriate support for this package, +-- then the Unimplemented_Unit pragma should be removed from this spec and +-- an appropriate body provided. + +package Ada.Synchronous_Task_Control.EDF is + + pragma Unimplemented_Unit; + + procedure Suspend_Until_True_And_Set_Deadline + (S : in out Suspension_Object; + TS : Ada.Real_Time.Time_Span); +end Ada.Synchronous_Task_Control.EDF; diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb index 9f4f105dddd..b3589d4f8e4 100644 --- a/gcc/ada/bindgen.adb +++ b/gcc/ada/bindgen.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- -- -- -- GNAT 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- -- @@ -1992,6 +1992,21 @@ package body Bindgen is end loop; end if; + if not (Opt.No_Run_Time_Mode or Opt.No_Stdlib) then + Name_Len := 0; + + if Opt.Shared_Libgnat then + Add_Str_To_Name_Buffer ("-shared"); + else + Add_Str_To_Name_Buffer ("-static"); + end if; + + -- Write directly to avoid inclusion in -K output as -static and + -- -shared are not usually specified linker options. + + WBI (" -- " & Name_Buffer (1 .. Name_Len)); + end if; + -- Sort linker options -- This sort accomplishes two important purposes: @@ -2050,18 +2065,6 @@ package body Bindgen is -- linking (not clear if this is still the case, but it is harmless). if not (Opt.No_Run_Time_Mode or else Opt.No_Stdlib) then - Name_Len := 0; - - if Opt.Shared_Libgnat then - Add_Str_To_Name_Buffer ("-shared"); - else - Add_Str_To_Name_Buffer ("-static"); - end if; - - -- Write directly to avoid -K output (why???) - - WBI (" -- " & Name_Buffer (1 .. Name_Len)); - if With_GNARL then Name_Len := 0; @@ -2923,7 +2926,7 @@ package body Bindgen is end if; end Check_Package; - -- Start of processing for Check_Package + -- Start of processing for Resolve_Binder_Options begin for E in Elab_Order.First .. Elab_Order.Last loop diff --git a/gcc/ada/impunit.adb b/gcc/ada/impunit.adb index 5b8676e7b0b..d59704f500a 100644 --- a/gcc/ada/impunit.adb +++ b/gcc/ada/impunit.adb @@ -575,6 +575,7 @@ package body Impunit is ("a-extiin", T), -- Ada.Execution_Time.Interrupts ("a-iteint", T), -- Ada.Iterator_Interfaces ("a-locale", T), -- Ada.Locales + ("a-stcoed", T), -- Ada.Synchronous_Task_Control.EDF ("a-synbar", T), -- Ada.Synchronous_Barriers ("a-undesu", T), -- Ada.Unchecked_Deallocate_Subpool diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index d5038ee59ad..de6cef94d76 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -10714,9 +10714,9 @@ package body Sem_Res is Target : Entity_Id := Target_Typ; begin - -- If the type of the operand is a limited view, use the non- - -- limited view when available. If it is a class-wide type, - -- recover class_wide type of the non-limited view. + -- If the type of the operand is a limited view, use nonlimited + -- view when available. If it is a class-wide type, recover the + -- class-wide type of the nonlimited view. if From_Limited_With (Opnd) then if Ekind (Opnd) in Incomplete_Kind @@ -11811,7 +11811,7 @@ package body Sem_Res is return True; -- If the operand is a class-wide type obtained through a limited_ - -- with clause, and the context includes the non-limited view, use + -- with clause, and the context includes the nonlimited view, use -- it to determine whether the conversion is legal. elsif Is_Class_Wide_Type (Opnd_Type) @@ -12299,7 +12299,7 @@ package body Sem_Res is end if; end if; - -- In the presence of limited_with clauses we have to use non-limited + -- In the presence of limited_with clauses we have to use nonlimited -- views, if available. Check_Limited : declare diff --git a/gcc/ada/switch-c.adb b/gcc/ada/switch-c.adb index c3b57335a30..b431081ba50 100644 --- a/gcc/ada/switch-c.adb +++ b/gcc/ada/switch-c.adb @@ -214,7 +214,6 @@ package body Switch.C is else declare Runtime_Dir : String_Access; - begin if System.OS_Lib.Is_Absolute_Path (Switch_Chars (Ptr + 4 .. Max)) @@ -243,7 +242,11 @@ package body Switch.C is if RTS_Specified /= null then if RTS_Src_Path_Name = null or else RTS_Lib_Path_Name = null - or else RTS_Specified.all /= RTS_Lib_Path_Name.all + or else + System.OS_Lib.Normalize_Pathname + (RTS_Specified.all) /= + System.OS_Lib.Normalize_Pathname + (RTS_Lib_Path_Name.all) then Osint.Fail ("--RTS cannot be specified multiple times");