We are allowed to add implementation defined children to System, so this patch takes advantage of that to make the Ada 2012 units System.Multiprocessors and System.Multiprocessors.Dispatching_Domains available in Ada 95 and Ada 2005 modes (like all child units, they cannot be directly with'ed from Ada 83 units.
Tested on x86_64-pc-linux-gnu, committed on trunk 2013-04-12 Robert Dewar <de...@adacore.com> * impunit.adb: Add s-multip and s-mudido to list of impl defined system units. * gnat_rm.texi: Add documentation for System.Multiprocessors[.Dispatching_Domains].
Index: gnat_rm.texi =================================================================== --- gnat_rm.texi (revision 197897) +++ gnat_rm.texi (working copy) @@ -548,6 +548,8 @@ * System.Address_Image (s-addima.ads):: * System.Assertions (s-assert.ads):: * System.Memory (s-memory.ads):: +* System.Multiprocessors (s-multip.ads):: +* System.Multiprocessors.Dispatching_Domains (s-mudido.ads):: * System.Partition_Interface (s-parint.ads):: * System.Pool_Global (s-pooglo.ads):: * System.Pool_Local (s-pooloc.ads):: @@ -15508,6 +15510,8 @@ * System.Address_Image (s-addima.ads):: * System.Assertions (s-assert.ads):: * System.Memory (s-memory.ads):: +* System.Multiprocessors (s-multip.ads):: +* System.Multiprocessors.Dispatching_Domains (s-mudido.ads):: * System.Partition_Interface (s-parint.ads):: * System.Pool_Global (s-pooglo.ads):: * System.Pool_Local (s-pooloc.ads):: @@ -16970,6 +16974,22 @@ calls to this unit may be made for low level allocation uses (for example see the body of @code{GNAT.Tables}). +@node System.Multiprocessors (s-multip.ads) +@section @code{System.Multiprocessors} (@file{s-multip.ads}) +@cindex @code{System.Multiprocessors} (@file{s-multip.ads}) +@cindex Multiprocessor interface +This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but +in GNAT we also make it available in Ada 95 and Ada 2005 (where it is +technically an implementation-defined addition). + +@node System.Multiprocessors.Dispatching_Domains (s-mudido.ads) +@section @code{System.Multiprocessors.Dispatching_Domains} (@file{s-mudido.ads}) +@cindex @code{System.Multiprocessors.Dispatching_Domains} (@file{s-mudido.ads}) +@cindex Multiprocessor interface +This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but +in GNAT we also make it available in Ada 95 and Ada 2005 (where it is +technically an implementation-defined addition). + @node System.Partition_Interface (s-parint.ads) @section @code{System.Partition_Interface} (@file{s-parint.ads}) @cindex @code{System.Partition_Interface} (@file{s-parint.ads}) Index: impunit.adb =================================================================== --- impunit.adb (revision 197897) +++ impunit.adb (working copy) @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2000-2012, Free Software Foundation, Inc. -- +-- Copyright (C) 2000-2013, 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- -- @@ -380,8 +380,15 @@ ("s-ststop", F), -- System.Strings.Stream_Ops ("s-tasinf", F), -- System.Task_Info ("s-wchcnv", F), -- System.Wch_Cnv - ("s-wchcon", F)); -- System.Wch_Con + ("s-wchcon", F), -- System.Wch_Con + -- The following are strictly speaking Ada 2012 units, but we are allowed + -- to add children to system, so we consider them to be implementation + -- defined additions to System in earlier versions of Ada. + + ("s-multip", T), -- System.Multiprocessors + ("s-mudido", T)); -- System.Multiprocessors.Dispatching_Domains + -------------------- -- Ada 2005 Units -- -------------------- @@ -544,8 +551,6 @@ -- The following units should be used only in Ada 2012 mode Non_Imp_File_Names_12 : constant File_List := ( - ("s-multip", T), -- System.Multiprocessors - ("s-mudido", T), -- System.Multiprocessors.Dispatching_Domains ("s-stposu", T), -- System.Storage_Pools.Subpools ("a-cobove", T), -- Ada.Containers.Bounded_Vectors ("a-cbdlli", T), -- Ada.Containers.Bounded_Doubly_Linked_Lists