From: Ashley Gay <g...@adacore.com>

The VxWorks 7 API to use hardware interrupts is the VxBus subsystem.
GNAT API still provides bindings for the deprecated (VxWorks 6) routines.
A direct consequence of this change is that Attach_Handler cannot be
used anymore (the VxBus subsystem should be used instead).

This patch removes all the functions that are not supported by VxWorks 7
anymore.
To warn for the usage of Attach_Handler, it adds the 'Obsolescent'
pragma to to this routine so the comiler will advise the user if this
function is called directly or through a pragma.

gcc/ada/

        * Makefile.rtl: remove i-vxinco.* from the build
        * doc/gnat_rm/the_gnat_library.rst: Remove i-vxinco.ads from
        the units documentation.
        * impunit.adb: Remove i-vxinco from the list of available units
        in GNATstudio.
        * libgnarl/i-vxinco.adb: Remove.
        * libgnarl/i-vxinco.ads: Ditto.
        * libgnarl/s-interr__vxworks.adb: enrich comment
        * libgnarl/s-vxwext__kernel.ads: fix comment
        * libgnat/i-vxwork.ads: Remove deprecated interrupt connections
        API, as well as an example.
        * libgnat/i-vxwork__x86.ads: Ditto and add the paragma
        Obscolescent to Attach_Handler
        * gnat_rm.texi: Regenerate.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/Makefile.rtl                     |   8 +-
 gcc/ada/doc/gnat_rm/the_gnat_library.rst |  17 --
 gcc/ada/gnat_rm.texi                     | 196 ++++++++++-------------
 gcc/ada/impunit.adb                      |   1 -
 gcc/ada/libgnarl/i-vxinco.adb            |  48 ------
 gcc/ada/libgnarl/i-vxinco.ads            |  56 -------
 gcc/ada/libgnarl/s-interr__vxworks.adb   |   5 +-
 gcc/ada/libgnarl/s-vxwext__kernel.ads    |   2 +-
 gcc/ada/libgnat/i-vxwork.ads             | 115 +------------
 gcc/ada/libgnat/i-vxwork__x86.ads        | 109 -------------
 10 files changed, 98 insertions(+), 459 deletions(-)
 delete mode 100644 gcc/ada/libgnarl/i-vxinco.adb
 delete mode 100644 gcc/ada/libgnarl/i-vxinco.ads

diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 3721a70ffcc..ad3e6380a52 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1162,7 +1162,7 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks 
vxworks7%, $(target_cpu) $(targe
           RTSERR = $(error NO SUCH RUNTIME)
         endif
       endif
-      EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxinco.o i-vxwork.o i-vxwoio.o
+      EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxwork.o i-vxwoio.o
     endif
   endif
 
@@ -1279,7 +1279,7 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks7%, 
$(target_cpu) $(target_vend
       RTSERR = $(error NO SUCH RUNTIME)
     endif
 
-    EXTRA_GNATRTL_NONTASKING_OBJS += i-vxinco.o i-vxwork.o i-vxwoio.o
+    EXTRA_GNATRTL_NONTASKING_OBJS += i-vxwork.o i-vxwoio.o
   endif
 
   EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o
@@ -1371,7 +1371,7 @@ ifeq ($(strip $(filter-out aarch64 arm wrs vxworks7%, 
$(target_cpu) $(target_ven
   endif
 
   EXTRA_GNATRTL_NONTASKING_OBJS += i-vxwork.o i-vxwoio.o s-stchop.o
-  EXTRA_GNATRTL_TASKING_OBJS += i-vxinco.o s-vxwork.o s-vxwext.o
+  EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o
 
   EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
 
@@ -2890,7 +2890,7 @@ ADA_EXCLUDE_SRCS =\
   g-allein.ads g-alleve.adb g-alleve.ads g-altcon.adb g-altcon.ads \
   g-altive.ads g-alveop.adb g-alveop.ads g-alvety.ads g-alvevi.ads \
   g-intpri.ads g-regist.adb g-regist.ads g-sse.ads    g-ssvety.ads \
-  i-vxinco.adb i-vxinco.ads i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \
+  i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \
   s-linux.ads  s-vxwext.adb s-vxwext.ads s-win32.ads  s-winext.ads \
   s-stchop.ads s-stchop.adb \
   s-strcom.adb s-strcom.ads s-thread.ads \
diff --git a/gcc/ada/doc/gnat_rm/the_gnat_library.rst 
b/gcc/ada/doc/gnat_rm/the_gnat_library.rst
index 3aae70a4409..88204d4cfe7 100644
--- a/gcc/ada/doc/gnat_rm/the_gnat_library.rst
+++ b/gcc/ada/doc/gnat_rm/the_gnat_library.rst
@@ -1915,23 +1915,6 @@ mainframes.
 .. index:: VxWorks, interfacing
 
 This package provides a limited binding to the VxWorks API.
-In particular, it interfaces with the
-VxWorks hardware interrupt facilities.
-
-.. _`Interfaces.VxWorks.Int_Connection_(i-vxinco.ads)`:
-
-``Interfaces.VxWorks.Int_Connection`` (:file:`i-vxinco.ads`)
-============================================================
-
-.. index:: Interfaces.VxWorks.Int_Connection (i-vxinco.ads)
-
-.. index:: Interfacing to VxWorks
-
-.. index:: VxWorks, interfacing
-
-This package provides a way for users to replace the use of
-intConnect() with a custom routine for installing interrupt
-handlers.
 
 .. _`Interfaces.VxWorks.IO_(i-vxwoio.ads)`:
 
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index f6b14cf61b9..f0e95bec1e5 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -833,7 +833,6 @@ The GNAT Library
 * Interfaces.C.Streams (i-cstrea.ads): Interfaces C Streams i-cstrea ads. 
 * Interfaces.Packed_Decimal (i-pacdec.ads): Interfaces Packed_Decimal i-pacdec 
ads. 
 * Interfaces.VxWorks (i-vxwork.ads): Interfaces VxWorks i-vxwork ads. 
-* Interfaces.VxWorks.Int_Connection (i-vxinco.ads): Interfaces VxWorks 
Int_Connection i-vxinco ads. 
 * Interfaces.VxWorks.IO (i-vxwoio.ads): Interfaces VxWorks IO i-vxwoio ads. 
 * System.Address_Image (s-addima.ads): System Address_Image s-addima ads. 
 * System.Assertions (s-assert.ads): System Assertions s-assert ads. 
@@ -23288,7 +23287,6 @@ of GNAT, and will generate a warning message.
 * Interfaces.C.Streams (i-cstrea.ads): Interfaces C Streams i-cstrea ads. 
 * Interfaces.Packed_Decimal (i-pacdec.ads): Interfaces Packed_Decimal i-pacdec 
ads. 
 * Interfaces.VxWorks (i-vxwork.ads): Interfaces VxWorks i-vxwork ads. 
-* Interfaces.VxWorks.Int_Connection (i-vxinco.ads): Interfaces VxWorks 
Int_Connection i-vxinco ads. 
 * Interfaces.VxWorks.IO (i-vxwoio.ads): Interfaces VxWorks IO i-vxwoio ads. 
 * System.Address_Image (s-addima.ads): System Address_Image s-addima ads. 
 * System.Assertions (s-assert.ads): System Assertions s-assert ads. 
@@ -25203,7 +25201,7 @@ This package provides a set of routines for conversions 
to and
 from a packed decimal format compatible with that used on IBM
 mainframes.
 
-@node Interfaces VxWorks i-vxwork ads,Interfaces VxWorks Int_Connection 
i-vxinco ads,Interfaces Packed_Decimal i-pacdec ads,The GNAT Library
+@node Interfaces VxWorks i-vxwork ads,Interfaces VxWorks IO i-vxwoio 
ads,Interfaces Packed_Decimal i-pacdec ads,The GNAT Library
 @anchor{gnat_rm/the_gnat_library 
id132}@anchor{3ec}@anchor{gnat_rm/the_gnat_library 
interfaces-vxworks-i-vxwork-ads}@anchor{3ed}
 @section @code{Interfaces.VxWorks} (@code{i-vxwork.ads})
 
@@ -25216,27 +25214,9 @@ mainframes.
 @geindex interfacing
 
 This package provides a limited binding to the VxWorks API.
-In particular, it interfaces with the
-VxWorks hardware interrupt facilities.
 
-@node Interfaces VxWorks Int_Connection i-vxinco ads,Interfaces VxWorks IO 
i-vxwoio ads,Interfaces VxWorks i-vxwork ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id133}@anchor{3ee}@anchor{gnat_rm/the_gnat_library 
interfaces-vxworks-int-connection-i-vxinco-ads}@anchor{3ef}
-@section @code{Interfaces.VxWorks.Int_Connection} (@code{i-vxinco.ads})
-
-
-@geindex Interfaces.VxWorks.Int_Connection (i-vxinco.ads)
-
-@geindex Interfacing to VxWorks
-
-@geindex VxWorks
-@geindex interfacing
-
-This package provides a way for users to replace the use of
-intConnect() with a custom routine for installing interrupt
-handlers.
-
-@node Interfaces VxWorks IO i-vxwoio ads,System Address_Image s-addima 
ads,Interfaces VxWorks Int_Connection i-vxinco ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id134}@anchor{3f0}@anchor{gnat_rm/the_gnat_library 
interfaces-vxworks-io-i-vxwoio-ads}@anchor{3f1}
+@node Interfaces VxWorks IO i-vxwoio ads,System Address_Image s-addima 
ads,Interfaces VxWorks i-vxwork ads,The GNAT Library
+@anchor{gnat_rm/the_gnat_library 
id133}@anchor{3ee}@anchor{gnat_rm/the_gnat_library 
interfaces-vxworks-io-i-vxwoio-ads}@anchor{3ef}
 @section @code{Interfaces.VxWorks.IO} (@code{i-vxwoio.ads})
 
 
@@ -25259,7 +25239,7 @@ function codes. A particular use of this package is
 to enable the use of Get_Immediate under VxWorks.
 
 @node System Address_Image s-addima ads,System Assertions s-assert 
ads,Interfaces VxWorks IO i-vxwoio ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id135}@anchor{3f2}@anchor{gnat_rm/the_gnat_library 
system-address-image-s-addima-ads}@anchor{3f3}
+@anchor{gnat_rm/the_gnat_library 
id134}@anchor{3f0}@anchor{gnat_rm/the_gnat_library 
system-address-image-s-addima-ads}@anchor{3f1}
 @section @code{System.Address_Image} (@code{s-addima.ads})
 
 
@@ -25275,7 +25255,7 @@ function that gives an (implementation dependent)
 string which identifies an address.
 
 @node System Assertions s-assert ads,System Atomic_Counters s-atocou 
ads,System Address_Image s-addima ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id136}@anchor{3f4}@anchor{gnat_rm/the_gnat_library 
system-assertions-s-assert-ads}@anchor{3f5}
+@anchor{gnat_rm/the_gnat_library 
id135}@anchor{3f2}@anchor{gnat_rm/the_gnat_library 
system-assertions-s-assert-ads}@anchor{3f3}
 @section @code{System.Assertions} (@code{s-assert.ads})
 
 
@@ -25291,7 +25271,7 @@ by an run-time assertion failure, as well as the 
routine that
 is used internally to raise this assertion.
 
 @node System Atomic_Counters s-atocou ads,System Memory s-memory ads,System 
Assertions s-assert ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id137}@anchor{3f6}@anchor{gnat_rm/the_gnat_library 
system-atomic-counters-s-atocou-ads}@anchor{3f7}
+@anchor{gnat_rm/the_gnat_library 
id136}@anchor{3f4}@anchor{gnat_rm/the_gnat_library 
system-atomic-counters-s-atocou-ads}@anchor{3f5}
 @section @code{System.Atomic_Counters} (@code{s-atocou.ads})
 
 
@@ -25305,7 +25285,7 @@ on most targets, including all Alpha, AARCH64, ARM, 
ia64, PowerPC, SPARC V9,
 x86, and x86_64 platforms.
 
 @node System Memory s-memory ads,System Multiprocessors s-multip ads,System 
Atomic_Counters s-atocou ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id138}@anchor{3f8}@anchor{gnat_rm/the_gnat_library 
system-memory-s-memory-ads}@anchor{3f9}
+@anchor{gnat_rm/the_gnat_library 
id137}@anchor{3f6}@anchor{gnat_rm/the_gnat_library 
system-memory-s-memory-ads}@anchor{3f7}
 @section @code{System.Memory} (@code{s-memory.ads})
 
 
@@ -25323,7 +25303,7 @@ 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,System Multiprocessors 
Dispatching_Domains s-mudido ads,System Memory s-memory ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id139}@anchor{3fa}@anchor{gnat_rm/the_gnat_library 
system-multiprocessors-s-multip-ads}@anchor{3fb}
+@anchor{gnat_rm/the_gnat_library 
id138}@anchor{3f8}@anchor{gnat_rm/the_gnat_library 
system-multiprocessors-s-multip-ads}@anchor{3f9}
 @section @code{System.Multiprocessors} (@code{s-multip.ads})
 
 
@@ -25336,7 +25316,7 @@ 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,System 
Partition_Interface s-parint ads,System Multiprocessors s-multip ads,The GNAT 
Library
-@anchor{gnat_rm/the_gnat_library 
id140}@anchor{3fc}@anchor{gnat_rm/the_gnat_library 
system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{3fd}
+@anchor{gnat_rm/the_gnat_library 
id139}@anchor{3fa}@anchor{gnat_rm/the_gnat_library 
system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{3fb}
 @section @code{System.Multiprocessors.Dispatching_Domains} 
(@code{s-mudido.ads})
 
 
@@ -25349,7 +25329,7 @@ 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,System Pool_Global s-pooglo 
ads,System Multiprocessors Dispatching_Domains s-mudido ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id141}@anchor{3fe}@anchor{gnat_rm/the_gnat_library 
system-partition-interface-s-parint-ads}@anchor{3ff}
+@anchor{gnat_rm/the_gnat_library 
id140}@anchor{3fc}@anchor{gnat_rm/the_gnat_library 
system-partition-interface-s-parint-ads}@anchor{3fd}
 @section @code{System.Partition_Interface} (@code{s-parint.ads})
 
 
@@ -25362,7 +25342,7 @@ is used primarily in a distribution context when using 
Annex E
 with @code{GLADE}.
 
 @node System Pool_Global s-pooglo ads,System Pool_Local s-pooloc ads,System 
Partition_Interface s-parint ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id142}@anchor{400}@anchor{gnat_rm/the_gnat_library 
system-pool-global-s-pooglo-ads}@anchor{401}
+@anchor{gnat_rm/the_gnat_library 
id141}@anchor{3fe}@anchor{gnat_rm/the_gnat_library 
system-pool-global-s-pooglo-ads}@anchor{3ff}
 @section @code{System.Pool_Global} (@code{s-pooglo.ads})
 
 
@@ -25379,7 +25359,7 @@ declared. It uses malloc/free to allocate/free and does 
not attempt to
 do any automatic reclamation.
 
 @node System Pool_Local s-pooloc ads,System Restrictions s-restri ads,System 
Pool_Global s-pooglo ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id143}@anchor{402}@anchor{gnat_rm/the_gnat_library 
system-pool-local-s-pooloc-ads}@anchor{403}
+@anchor{gnat_rm/the_gnat_library 
id142}@anchor{400}@anchor{gnat_rm/the_gnat_library 
system-pool-local-s-pooloc-ads}@anchor{401}
 @section @code{System.Pool_Local} (@code{s-pooloc.ads})
 
 
@@ -25396,7 +25376,7 @@ a list of allocated blocks, so that all storage 
allocated for the pool can
 be freed automatically when the pool is finalized.
 
 @node System Restrictions s-restri ads,System Rident s-rident ads,System 
Pool_Local s-pooloc ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id144}@anchor{404}@anchor{gnat_rm/the_gnat_library 
system-restrictions-s-restri-ads}@anchor{405}
+@anchor{gnat_rm/the_gnat_library 
id143}@anchor{402}@anchor{gnat_rm/the_gnat_library 
system-restrictions-s-restri-ads}@anchor{403}
 @section @code{System.Restrictions} (@code{s-restri.ads})
 
 
@@ -25412,7 +25392,7 @@ compiler determined information on which restrictions
 are violated by one or more packages in the partition.
 
 @node System Rident s-rident ads,System Strings Stream_Ops s-ststop ads,System 
Restrictions s-restri ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id145}@anchor{406}@anchor{gnat_rm/the_gnat_library 
system-rident-s-rident-ads}@anchor{407}
+@anchor{gnat_rm/the_gnat_library 
id144}@anchor{404}@anchor{gnat_rm/the_gnat_library 
system-rident-s-rident-ads}@anchor{405}
 @section @code{System.Rident} (@code{s-rident.ads})
 
 
@@ -25428,7 +25408,7 @@ since the necessary instantiation is included in
 package System.Restrictions.
 
 @node System Strings Stream_Ops s-ststop ads,System Unsigned_Types s-unstyp 
ads,System Rident s-rident ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id146}@anchor{408}@anchor{gnat_rm/the_gnat_library 
system-strings-stream-ops-s-ststop-ads}@anchor{409}
+@anchor{gnat_rm/the_gnat_library 
id145}@anchor{406}@anchor{gnat_rm/the_gnat_library 
system-strings-stream-ops-s-ststop-ads}@anchor{407}
 @section @code{System.Strings.Stream_Ops} (@code{s-ststop.ads})
 
 
@@ -25444,7 +25424,7 @@ stream attributes are applied to string types, but the 
subprograms in this
 package can be used directly by application programs.
 
 @node System Unsigned_Types s-unstyp ads,System Wch_Cnv s-wchcnv ads,System 
Strings Stream_Ops s-ststop ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id147}@anchor{40a}@anchor{gnat_rm/the_gnat_library 
system-unsigned-types-s-unstyp-ads}@anchor{40b}
+@anchor{gnat_rm/the_gnat_library 
id146}@anchor{408}@anchor{gnat_rm/the_gnat_library 
system-unsigned-types-s-unstyp-ads}@anchor{409}
 @section @code{System.Unsigned_Types} (@code{s-unstyp.ads})
 
 
@@ -25457,7 +25437,7 @@ also contains some related definitions for other 
specialized types
 used by the compiler in connection with packed array types.
 
 @node System Wch_Cnv s-wchcnv ads,System Wch_Con s-wchcon ads,System 
Unsigned_Types s-unstyp ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id148}@anchor{40c}@anchor{gnat_rm/the_gnat_library 
system-wch-cnv-s-wchcnv-ads}@anchor{40d}
+@anchor{gnat_rm/the_gnat_library 
id147}@anchor{40a}@anchor{gnat_rm/the_gnat_library 
system-wch-cnv-s-wchcnv-ads}@anchor{40b}
 @section @code{System.Wch_Cnv} (@code{s-wchcnv.ads})
 
 
@@ -25478,7 +25458,7 @@ encoding method.  It uses definitions in
 package @code{System.Wch_Con}.
 
 @node System Wch_Con s-wchcon ads,,System Wch_Cnv s-wchcnv ads,The GNAT Library
-@anchor{gnat_rm/the_gnat_library 
id149}@anchor{40e}@anchor{gnat_rm/the_gnat_library 
system-wch-con-s-wchcon-ads}@anchor{40f}
+@anchor{gnat_rm/the_gnat_library 
id148}@anchor{40c}@anchor{gnat_rm/the_gnat_library 
system-wch-con-s-wchcon-ads}@anchor{40d}
 @section @code{System.Wch_Con} (@code{s-wchcon.ads})
 
 
@@ -25490,7 +25470,7 @@ in ordinary strings.  These definitions are used by
 the package @code{System.Wch_Cnv}.
 
 @node Interfacing to Other Languages,Specialized Needs Annexes,The GNAT 
Library,Top
-@anchor{gnat_rm/interfacing_to_other_languages 
doc}@anchor{410}@anchor{gnat_rm/interfacing_to_other_languages 
id1}@anchor{411}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-other-languages}@anchor{11}
+@anchor{gnat_rm/interfacing_to_other_languages 
doc}@anchor{40e}@anchor{gnat_rm/interfacing_to_other_languages 
id1}@anchor{40f}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-other-languages}@anchor{11}
 @chapter Interfacing to Other Languages
 
 
@@ -25508,7 +25488,7 @@ provided.
 @end menu
 
 @node Interfacing to C,Interfacing to C++,,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages 
id2}@anchor{412}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-c}@anchor{413}
+@anchor{gnat_rm/interfacing_to_other_languages 
id2}@anchor{410}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-c}@anchor{411}
 @section Interfacing to C
 
 
@@ -25648,7 +25628,7 @@ of the length corresponding to the @code{type'Size} 
value in Ada.
 @end itemize
 
 @node Interfacing to C++,Interfacing to COBOL,Interfacing to C,Interfacing to 
Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages 
id3}@anchor{49}@anchor{gnat_rm/interfacing_to_other_languages id4}@anchor{414}
+@anchor{gnat_rm/interfacing_to_other_languages 
id3}@anchor{49}@anchor{gnat_rm/interfacing_to_other_languages id4}@anchor{412}
 @section Interfacing to C++
 
 
@@ -25705,7 +25685,7 @@ The @code{External_Name} is the name of the C++ RTTI 
symbol. You can then
 cover a specific C++ exception in an exception handler.
 
 @node Interfacing to COBOL,Interfacing to Fortran,Interfacing to 
C++,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages 
id5}@anchor{415}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-cobol}@anchor{416}
+@anchor{gnat_rm/interfacing_to_other_languages 
id5}@anchor{413}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-cobol}@anchor{414}
 @section Interfacing to COBOL
 
 
@@ -25713,7 +25693,7 @@ Interfacing to COBOL is achieved as described in 
section B.4 of
 the Ada Reference Manual.
 
 @node Interfacing to Fortran,Interfacing to non-GNAT Ada code,Interfacing to 
COBOL,Interfacing to Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages 
id6}@anchor{417}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-fortran}@anchor{418}
+@anchor{gnat_rm/interfacing_to_other_languages 
id6}@anchor{415}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-fortran}@anchor{416}
 @section Interfacing to Fortran
 
 
@@ -25723,7 +25703,7 @@ multi-dimensional array causes the array to be stored 
in column-major
 order as required for convenient interface to Fortran.
 
 @node Interfacing to non-GNAT Ada code,,Interfacing to Fortran,Interfacing to 
Other Languages
-@anchor{gnat_rm/interfacing_to_other_languages 
id7}@anchor{419}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-non-gnat-ada-code}@anchor{41a}
+@anchor{gnat_rm/interfacing_to_other_languages 
id7}@anchor{417}@anchor{gnat_rm/interfacing_to_other_languages 
interfacing-to-non-gnat-ada-code}@anchor{418}
 @section Interfacing to non-GNAT Ada code
 
 
@@ -25747,7 +25727,7 @@ values or simple record types without variants, or 
simple array
 types with fixed bounds.
 
 @node Specialized Needs Annexes,Implementation of Specific Ada 
Features,Interfacing to Other Languages,Top
-@anchor{gnat_rm/specialized_needs_annexes 
doc}@anchor{41b}@anchor{gnat_rm/specialized_needs_annexes 
id1}@anchor{41c}@anchor{gnat_rm/specialized_needs_annexes 
specialized-needs-annexes}@anchor{12}
+@anchor{gnat_rm/specialized_needs_annexes 
doc}@anchor{419}@anchor{gnat_rm/specialized_needs_annexes 
id1}@anchor{41a}@anchor{gnat_rm/specialized_needs_annexes 
specialized-needs-annexes}@anchor{12}
 @chapter Specialized Needs Annexes
 
 
@@ -25788,7 +25768,7 @@ in Ada 2005) is fully implemented.
 @end table
 
 @node Implementation of Specific Ada Features,Implementation of Ada 2012 
Features,Specialized Needs Annexes,Top
-@anchor{gnat_rm/implementation_of_specific_ada_features 
doc}@anchor{41d}@anchor{gnat_rm/implementation_of_specific_ada_features 
id1}@anchor{41e}@anchor{gnat_rm/implementation_of_specific_ada_features 
implementation-of-specific-ada-features}@anchor{13}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
doc}@anchor{41b}@anchor{gnat_rm/implementation_of_specific_ada_features 
id1}@anchor{41c}@anchor{gnat_rm/implementation_of_specific_ada_features 
implementation-of-specific-ada-features}@anchor{13}
 @chapter Implementation of Specific Ada Features
 
 
@@ -25807,7 +25787,7 @@ facilities.
 @end menu
 
 @node Machine Code Insertions,GNAT Implementation of Tasking,,Implementation 
of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id2}@anchor{41f}@anchor{gnat_rm/implementation_of_specific_ada_features 
machine-code-insertions}@anchor{175}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id2}@anchor{41d}@anchor{gnat_rm/implementation_of_specific_ada_features 
machine-code-insertions}@anchor{175}
 @section Machine Code Insertions
 
 
@@ -25975,7 +25955,7 @@ according to normal visibility rules. In particular if 
there is no
 qualification is required.
 
 @node GNAT Implementation of Tasking,GNAT Implementation of Shared Passive 
Packages,Machine Code Insertions,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
gnat-implementation-of-tasking}@anchor{420}@anchor{gnat_rm/implementation_of_specific_ada_features
 id3}@anchor{421}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
gnat-implementation-of-tasking}@anchor{41e}@anchor{gnat_rm/implementation_of_specific_ada_features
 id3}@anchor{41f}
 @section GNAT Implementation of Tasking
 
 
@@ -25991,7 +25971,7 @@ to compliance with the Real-Time Systems Annex.
 @end menu
 
 @node Mapping Ada Tasks onto the Underlying Kernel Threads,Ensuring Compliance 
with the Real-Time Annex,,GNAT Implementation of Tasking
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id4}@anchor{422}@anchor{gnat_rm/implementation_of_specific_ada_features 
mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{423}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id4}@anchor{420}@anchor{gnat_rm/implementation_of_specific_ada_features 
mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{421}
 @subsection Mapping Ada Tasks onto the Underlying Kernel Threads
 
 
@@ -26060,7 +26040,7 @@ support this functionality when the parent contains 
more than one task.
 @geindex Forking a new process
 
 @node Ensuring Compliance with the Real-Time Annex,Support for Locking 
Policies,Mapping Ada Tasks onto the Underlying Kernel Threads,GNAT 
Implementation of Tasking
-@anchor{gnat_rm/implementation_of_specific_ada_features 
ensuring-compliance-with-the-real-time-annex}@anchor{424}@anchor{gnat_rm/implementation_of_specific_ada_features
 id5}@anchor{425}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
ensuring-compliance-with-the-real-time-annex}@anchor{422}@anchor{gnat_rm/implementation_of_specific_ada_features
 id5}@anchor{423}
 @subsection Ensuring Compliance with the Real-Time Annex
 
 
@@ -26111,7 +26091,7 @@ placed at the end.
 @c Support_for_Locking_Policies
 
 @node Support for Locking Policies,,Ensuring Compliance with the Real-Time 
Annex,GNAT Implementation of Tasking
-@anchor{gnat_rm/implementation_of_specific_ada_features 
support-for-locking-policies}@anchor{426}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
support-for-locking-policies}@anchor{424}
 @subsection Support for Locking Policies
 
 
@@ -26145,7 +26125,7 @@ then ceiling locking is used.
 Otherwise, the @code{Ceiling_Locking} policy is ignored.
 
 @node GNAT Implementation of Shared Passive Packages,Code Generation for Array 
Aggregates,GNAT Implementation of Tasking,Implementation of Specific Ada 
Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
gnat-implementation-of-shared-passive-packages}@anchor{427}@anchor{gnat_rm/implementation_of_specific_ada_features
 id6}@anchor{428}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
gnat-implementation-of-shared-passive-packages}@anchor{425}@anchor{gnat_rm/implementation_of_specific_ada_features
 id6}@anchor{426}
 @section GNAT Implementation of Shared Passive Packages
 
 
@@ -26243,7 +26223,7 @@ This is used to provide the required locking
 semantics for proper protected object synchronization.
 
 @node Code Generation for Array Aggregates,The Size of Discriminated Records 
with Default Discriminants,GNAT Implementation of Shared Passive 
Packages,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
code-generation-for-array-aggregates}@anchor{429}@anchor{gnat_rm/implementation_of_specific_ada_features
 id7}@anchor{42a}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
code-generation-for-array-aggregates}@anchor{427}@anchor{gnat_rm/implementation_of_specific_ada_features
 id7}@anchor{428}
 @section Code Generation for Array Aggregates
 
 
@@ -26274,7 +26254,7 @@ component values and static subtypes also lead to 
simpler code.
 @end menu
 
 @node Static constant aggregates with static bounds,Constant aggregates with 
unconstrained nominal types,,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id8}@anchor{42b}@anchor{gnat_rm/implementation_of_specific_ada_features 
static-constant-aggregates-with-static-bounds}@anchor{42c}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id8}@anchor{429}@anchor{gnat_rm/implementation_of_specific_ada_features 
static-constant-aggregates-with-static-bounds}@anchor{42a}
 @subsection Static constant aggregates with static bounds
 
 
@@ -26321,7 +26301,7 @@ Zero2: constant two_dim := (others => (others => 0));
 @end example
 
 @node Constant aggregates with unconstrained nominal types,Aggregates with 
static bounds,Static constant aggregates with static bounds,Code Generation for 
Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features 
constant-aggregates-with-unconstrained-nominal-types}@anchor{42d}@anchor{gnat_rm/implementation_of_specific_ada_features
 id9}@anchor{42e}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
constant-aggregates-with-unconstrained-nominal-types}@anchor{42b}@anchor{gnat_rm/implementation_of_specific_ada_features
 id9}@anchor{42c}
 @subsection Constant aggregates with unconstrained nominal types
 
 
@@ -26336,7 +26316,7 @@ Cr_Unc : constant One_Unc := (12,24,36);
 @end example
 
 @node Aggregates with static bounds,Aggregates with nonstatic bounds,Constant 
aggregates with unconstrained nominal types,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-with-static-bounds}@anchor{42f}@anchor{gnat_rm/implementation_of_specific_ada_features
 id10}@anchor{430}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-with-static-bounds}@anchor{42d}@anchor{gnat_rm/implementation_of_specific_ada_features
 id10}@anchor{42e}
 @subsection Aggregates with static bounds
 
 
@@ -26364,7 +26344,7 @@ end loop;
 @end example
 
 @node Aggregates with nonstatic bounds,Aggregates in assignment 
statements,Aggregates with static bounds,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-with-nonstatic-bounds}@anchor{431}@anchor{gnat_rm/implementation_of_specific_ada_features
 id11}@anchor{432}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-with-nonstatic-bounds}@anchor{42f}@anchor{gnat_rm/implementation_of_specific_ada_features
 id11}@anchor{430}
 @subsection Aggregates with nonstatic bounds
 
 
@@ -26375,7 +26355,7 @@ have to be applied to sub-arrays individually, if they 
do not have statically
 compatible subtypes.
 
 @node Aggregates in assignment statements,,Aggregates with nonstatic 
bounds,Code Generation for Array Aggregates
-@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-in-assignment-statements}@anchor{433}@anchor{gnat_rm/implementation_of_specific_ada_features
 id12}@anchor{434}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
aggregates-in-assignment-statements}@anchor{431}@anchor{gnat_rm/implementation_of_specific_ada_features
 id12}@anchor{432}
 @subsection Aggregates in assignment statements
 
 
@@ -26417,7 +26397,7 @@ a temporary (created either by the front-end or the 
code generator) and then
 that temporary will be copied onto the target.
 
 @node The Size of Discriminated Records with Default Discriminants,Image 
Values For Nonscalar Types,Code Generation for Array Aggregates,Implementation 
of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id13}@anchor{435}@anchor{gnat_rm/implementation_of_specific_ada_features 
the-size-of-discriminated-records-with-default-discriminants}@anchor{436}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id13}@anchor{433}@anchor{gnat_rm/implementation_of_specific_ada_features 
the-size-of-discriminated-records-with-default-discriminants}@anchor{434}
 @section The Size of Discriminated Records with Default Discriminants
 
 
@@ -26497,7 +26477,7 @@ say) must be consistent, so it is imperative that the 
object, once created,
 remain invariant.
 
 @node Image Values For Nonscalar Types,Strict Conformance to the Ada Reference 
Manual,The Size of Discriminated Records with Default 
Discriminants,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id14}@anchor{437}@anchor{gnat_rm/implementation_of_specific_ada_features 
image-values-for-nonscalar-types}@anchor{438}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id14}@anchor{435}@anchor{gnat_rm/implementation_of_specific_ada_features 
image-values-for-nonscalar-types}@anchor{436}
 @section Image Values For Nonscalar Types
 
 
@@ -26517,7 +26497,7 @@ control of image text is required for some type T, then 
T’Put_Image should be
 explicitly specified.
 
 @node Strict Conformance to the Ada Reference Manual,,Image Values For 
Nonscalar Types,Implementation of Specific Ada Features
-@anchor{gnat_rm/implementation_of_specific_ada_features 
id15}@anchor{439}@anchor{gnat_rm/implementation_of_specific_ada_features 
strict-conformance-to-the-ada-reference-manual}@anchor{43a}
+@anchor{gnat_rm/implementation_of_specific_ada_features 
id15}@anchor{437}@anchor{gnat_rm/implementation_of_specific_ada_features 
strict-conformance-to-the-ada-reference-manual}@anchor{438}
 @section Strict Conformance to the Ada Reference Manual
 
 
@@ -26544,7 +26524,7 @@ behavior (although at the cost of a significant 
performance penalty), so
 infinite and NaN values are properly generated.
 
 @node Implementation of Ada 2012 Features,GNAT language 
extensions,Implementation of Specific Ada Features,Top
-@anchor{gnat_rm/implementation_of_ada_2012_features 
doc}@anchor{43b}@anchor{gnat_rm/implementation_of_ada_2012_features 
id1}@anchor{43c}@anchor{gnat_rm/implementation_of_ada_2012_features 
implementation-of-ada-2012-features}@anchor{14}
+@anchor{gnat_rm/implementation_of_ada_2012_features 
doc}@anchor{439}@anchor{gnat_rm/implementation_of_ada_2012_features 
id1}@anchor{43a}@anchor{gnat_rm/implementation_of_ada_2012_features 
implementation-of-ada-2012-features}@anchor{14}
 @chapter Implementation of Ada 2012 Features
 
 
@@ -28710,7 +28690,7 @@ RM References:  H.04 (8/1)
 @end itemize
 
 @node GNAT language extensions,Security Hardening Features,Implementation of 
Ada 2012 Features,Top
-@anchor{gnat_rm/gnat_language_extensions 
doc}@anchor{43d}@anchor{gnat_rm/gnat_language_extensions 
gnat-language-extensions}@anchor{43e}@anchor{gnat_rm/gnat_language_extensions 
id1}@anchor{43f}
+@anchor{gnat_rm/gnat_language_extensions 
doc}@anchor{43b}@anchor{gnat_rm/gnat_language_extensions 
gnat-language-extensions}@anchor{43c}@anchor{gnat_rm/gnat_language_extensions 
id1}@anchor{43d}
 @chapter GNAT language extensions
 
 
@@ -28741,7 +28721,7 @@ prototyping phase.
 @end menu
 
 @node How to activate the extended GNAT Ada superset,Curated Extensions,,GNAT 
language extensions
-@anchor{gnat_rm/gnat_language_extensions 
how-to-activate-the-extended-gnat-ada-superset}@anchor{440}
+@anchor{gnat_rm/gnat_language_extensions 
how-to-activate-the-extended-gnat-ada-superset}@anchor{43e}
 @section How to activate the extended GNAT Ada superset
 
 
@@ -28780,7 +28760,7 @@ for serious projects, and is only means as a 
playground/technology preview.
 @end cartouche
 
 @node Curated Extensions,Experimental Language Extensions,How to activate the 
extended GNAT Ada superset,GNAT language extensions
-@anchor{gnat_rm/gnat_language_extensions 
curated-extensions}@anchor{441}@anchor{gnat_rm/gnat_language_extensions 
curated-language-extensions}@anchor{69}
+@anchor{gnat_rm/gnat_language_extensions 
curated-extensions}@anchor{43f}@anchor{gnat_rm/gnat_language_extensions 
curated-language-extensions}@anchor{69}
 @section Curated Extensions
 
 
@@ -28797,7 +28777,7 @@ for serious projects, and is only means as a 
playground/technology preview.
 @end menu
 
 @node Local Declarations Without Block,Conditional when constructs,,Curated 
Extensions
-@anchor{gnat_rm/gnat_language_extensions 
local-declarations-without-block}@anchor{442}
+@anchor{gnat_rm/gnat_language_extensions 
local-declarations-without-block}@anchor{440}
 @subsection Local Declarations Without Block
 
 
@@ -28820,7 +28800,7 @@ end if;
 @end example
 
 @node Conditional when constructs,Fixed lower bounds for array types and 
subtypes,Local Declarations Without Block,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
conditional-when-constructs}@anchor{443}
+@anchor{gnat_rm/gnat_language_extensions 
conditional-when-constructs}@anchor{441}
 @subsection Conditional when constructs
 
 
@@ -28892,7 +28872,7 @@ Link to the original RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-conditional-when-constructs.rst}
 
 @node Fixed lower bounds for array types and subtypes,Prefixed-view notation 
for calls to primitive subprograms of untagged types,Conditional when 
constructs,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
fixed-lower-bounds-for-array-types-and-subtypes}@anchor{444}
+@anchor{gnat_rm/gnat_language_extensions 
fixed-lower-bounds-for-array-types-and-subtypes}@anchor{442}
 @subsection Fixed lower bounds for array types and subtypes
 
 
@@ -28946,7 +28926,7 @@ Link to the original RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-fixed-lower-bound.rst}
 
 @node Prefixed-view notation for calls to primitive subprograms of untagged 
types,Expression defaults for generic formal functions,Fixed lower bounds for 
array types and subtypes,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
prefixed-view-notation-for-calls-to-primitive-subprograms-of-untagged-types}@anchor{445}
+@anchor{gnat_rm/gnat_language_extensions 
prefixed-view-notation-for-calls-to-primitive-subprograms-of-untagged-types}@anchor{443}
 @subsection Prefixed-view notation for calls to primitive subprograms of 
untagged types
 
 
@@ -28999,7 +28979,7 @@ Link to the original RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-prefixed-untagged.rst}
 
 @node Expression defaults for generic formal functions,String 
interpolation,Prefixed-view notation for calls to primitive subprograms of 
untagged types,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
expression-defaults-for-generic-formal-functions}@anchor{446}
+@anchor{gnat_rm/gnat_language_extensions 
expression-defaults-for-generic-formal-functions}@anchor{444}
 @subsection Expression defaults for generic formal functions
 
 
@@ -29028,7 +29008,7 @@ Link to the original RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-expression-functions-as-default-for-generic-formal-function-parameters.rst}
 
 @node String interpolation,Constrained attribute for generic 
objects,Expression defaults for generic formal functions,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions string-interpolation}@anchor{447}
+@anchor{gnat_rm/gnat_language_extensions string-interpolation}@anchor{445}
 @subsection String interpolation
 
 
@@ -29194,7 +29174,7 @@ Here is a link to the original RFC   :
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-string-interpolation.rst}
 
 @node Constrained attribute for generic objects,Static aspect on intrinsic 
functions,String interpolation,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
constrained-attribute-for-generic-objects}@anchor{448}
+@anchor{gnat_rm/gnat_language_extensions 
constrained-attribute-for-generic-objects}@anchor{446}
 @subsection Constrained attribute for generic objects
 
 
@@ -29202,7 +29182,7 @@ The @code{Constrained} attribute is permitted for 
objects of generic types. The
 result indicates whether the corresponding actual is constrained.
 
 @node Static aspect on intrinsic functions,,Constrained attribute for generic 
objects,Curated Extensions
-@anchor{gnat_rm/gnat_language_extensions 
static-aspect-on-intrinsic-functions}@anchor{449}
+@anchor{gnat_rm/gnat_language_extensions 
static-aspect-on-intrinsic-functions}@anchor{447}
 @subsection @code{Static} aspect on intrinsic functions
 
 
@@ -29211,7 +29191,7 @@ and the compiler will evaluate some of these intrinsics 
statically, in
 particular the @code{Shift_Left} and @code{Shift_Right} intrinsics.
 
 @node Experimental Language Extensions,,Curated Extensions,GNAT language 
extensions
-@anchor{gnat_rm/gnat_language_extensions 
experimental-language-extensions}@anchor{6a}@anchor{gnat_rm/gnat_language_extensions
 id2}@anchor{44a}
+@anchor{gnat_rm/gnat_language_extensions 
experimental-language-extensions}@anchor{6a}@anchor{gnat_rm/gnat_language_extensions
 id2}@anchor{448}
 @section Experimental Language Extensions
 
 
@@ -29223,7 +29203,7 @@ particular the @code{Shift_Left} and @code{Shift_Right} 
intrinsics.
 @end menu
 
 @node Pragma Storage_Model,Simpler accessibility model,,Experimental Language 
Extensions
-@anchor{gnat_rm/gnat_language_extensions pragma-storage-model}@anchor{44b}
+@anchor{gnat_rm/gnat_language_extensions pragma-storage-model}@anchor{449}
 @subsection Pragma Storage_Model
 
 
@@ -29238,7 +29218,7 @@ Here is a link to the full RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-storage-model.rst}
 
 @node Simpler accessibility model,Case pattern matching,Pragma 
Storage_Model,Experimental Language Extensions
-@anchor{gnat_rm/gnat_language_extensions 
simpler-accessibility-model}@anchor{44c}
+@anchor{gnat_rm/gnat_language_extensions 
simpler-accessibility-model}@anchor{44a}
 @subsection Simpler accessibility model
 
 
@@ -29251,7 +29231,7 @@ Here is a link to the full RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-simpler-accessibility.md}
 
 @node Case pattern matching,,Simpler accessibility model,Experimental Language 
Extensions
-@anchor{gnat_rm/gnat_language_extensions case-pattern-matching}@anchor{44d}
+@anchor{gnat_rm/gnat_language_extensions case-pattern-matching}@anchor{44b}
 @subsection Case pattern matching
 
 
@@ -29383,7 +29363,7 @@ Link to the original RFC:
 
@indicateurl{https://github.com/AdaCore/ada-spark-rfcs/blob/master/prototyped/rfc-pattern-matching.rst}
 
 @node Security Hardening Features,Obsolescent Features,GNAT language 
extensions,Top
-@anchor{gnat_rm/security_hardening_features 
doc}@anchor{44e}@anchor{gnat_rm/security_hardening_features 
id1}@anchor{44f}@anchor{gnat_rm/security_hardening_features 
security-hardening-features}@anchor{15}
+@anchor{gnat_rm/security_hardening_features 
doc}@anchor{44c}@anchor{gnat_rm/security_hardening_features 
id1}@anchor{44d}@anchor{gnat_rm/security_hardening_features 
security-hardening-features}@anchor{15}
 @chapter Security Hardening Features
 
 
@@ -29405,7 +29385,7 @@ change.
 @end menu
 
 @node Register Scrubbing,Stack Scrubbing,,Security Hardening Features
-@anchor{gnat_rm/security_hardening_features register-scrubbing}@anchor{450}
+@anchor{gnat_rm/security_hardening_features register-scrubbing}@anchor{44e}
 @section Register Scrubbing
 
 
@@ -29441,7 +29421,7 @@ programming languages, see @cite{Using the GNU Compiler 
Collection (GCC)}.
 @c Stack Scrubbing:
 
 @node Stack Scrubbing,Hardened Conditionals,Register Scrubbing,Security 
Hardening Features
-@anchor{gnat_rm/security_hardening_features stack-scrubbing}@anchor{451}
+@anchor{gnat_rm/security_hardening_features stack-scrubbing}@anchor{44f}
 @section Stack Scrubbing
 
 
@@ -29585,7 +29565,7 @@ Bar_Callable_Ptr.
 @c Hardened Conditionals:
 
 @node Hardened Conditionals,Hardened Booleans,Stack Scrubbing,Security 
Hardening Features
-@anchor{gnat_rm/security_hardening_features hardened-conditionals}@anchor{452}
+@anchor{gnat_rm/security_hardening_features hardened-conditionals}@anchor{450}
 @section Hardened Conditionals
 
 
@@ -29675,7 +29655,7 @@ be used with other programming languages supported by 
GCC.
 @c Hardened Booleans:
 
 @node Hardened Booleans,Control Flow Redundancy,Hardened Conditionals,Security 
Hardening Features
-@anchor{gnat_rm/security_hardening_features hardened-booleans}@anchor{453}
+@anchor{gnat_rm/security_hardening_features hardened-booleans}@anchor{451}
 @section Hardened Booleans
 
 
@@ -29736,7 +29716,7 @@ and more details on that attribute, see @cite{Using the 
GNU Compiler Collection
 @c Control Flow Redundancy:
 
 @node Control Flow Redundancy,,Hardened Booleans,Security Hardening Features
-@anchor{gnat_rm/security_hardening_features 
control-flow-redundancy}@anchor{454}
+@anchor{gnat_rm/security_hardening_features 
control-flow-redundancy}@anchor{452}
 @section Control Flow Redundancy
 
 
@@ -29904,7 +29884,7 @@ see @cite{Using the GNU Compiler Collection (GCC)}.  
These options
 can be used with other programming languages supported by GCC.
 
 @node Obsolescent Features,Compatibility and Porting Guide,Security Hardening 
Features,Top
-@anchor{gnat_rm/obsolescent_features 
doc}@anchor{455}@anchor{gnat_rm/obsolescent_features 
id1}@anchor{456}@anchor{gnat_rm/obsolescent_features 
obsolescent-features}@anchor{16}
+@anchor{gnat_rm/obsolescent_features 
doc}@anchor{453}@anchor{gnat_rm/obsolescent_features 
id1}@anchor{454}@anchor{gnat_rm/obsolescent_features 
obsolescent-features}@anchor{16}
 @chapter Obsolescent Features
 
 
@@ -29923,7 +29903,7 @@ compatibility purposes.
 @end menu
 
 @node pragma No_Run_Time,pragma Ravenscar,,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features 
id2}@anchor{457}@anchor{gnat_rm/obsolescent_features 
pragma-no-run-time}@anchor{458}
+@anchor{gnat_rm/obsolescent_features 
id2}@anchor{455}@anchor{gnat_rm/obsolescent_features 
pragma-no-run-time}@anchor{456}
 @section pragma No_Run_Time
 
 
@@ -29936,7 +29916,7 @@ preferred usage is to use an appropriately configured 
run-time that
 includes just those features that are to be made accessible.
 
 @node pragma Ravenscar,pragma Restricted_Run_Time,pragma 
No_Run_Time,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features 
id3}@anchor{459}@anchor{gnat_rm/obsolescent_features 
pragma-ravenscar}@anchor{45a}
+@anchor{gnat_rm/obsolescent_features 
id3}@anchor{457}@anchor{gnat_rm/obsolescent_features 
pragma-ravenscar}@anchor{458}
 @section pragma Ravenscar
 
 
@@ -29945,7 +29925,7 @@ The pragma @code{Ravenscar} has exactly the same effect 
as pragma
 is part of the new Ada 2005 standard.
 
 @node pragma Restricted_Run_Time,pragma Task_Info,pragma Ravenscar,Obsolescent 
Features
-@anchor{gnat_rm/obsolescent_features 
id4}@anchor{45b}@anchor{gnat_rm/obsolescent_features 
pragma-restricted-run-time}@anchor{45c}
+@anchor{gnat_rm/obsolescent_features 
id4}@anchor{459}@anchor{gnat_rm/obsolescent_features 
pragma-restricted-run-time}@anchor{45a}
 @section pragma Restricted_Run_Time
 
 
@@ -29955,7 +29935,7 @@ preferred since the Ada 2005 pragma @code{Profile} is 
intended for
 this kind of implementation dependent addition.
 
 @node pragma Task_Info,package System Task_Info s-tasinf ads,pragma 
Restricted_Run_Time,Obsolescent Features
-@anchor{gnat_rm/obsolescent_features 
id5}@anchor{45d}@anchor{gnat_rm/obsolescent_features 
pragma-task-info}@anchor{45e}
+@anchor{gnat_rm/obsolescent_features 
id5}@anchor{45b}@anchor{gnat_rm/obsolescent_features 
pragma-task-info}@anchor{45c}
 @section pragma Task_Info
 
 
@@ -29981,7 +29961,7 @@ in the spec of package System.Task_Info in the runtime
 library.
 
 @node package System Task_Info s-tasinf ads,,pragma Task_Info,Obsolescent 
Features
-@anchor{gnat_rm/obsolescent_features 
package-system-task-info}@anchor{45f}@anchor{gnat_rm/obsolescent_features 
package-system-task-info-s-tasinf-ads}@anchor{460}
+@anchor{gnat_rm/obsolescent_features 
package-system-task-info}@anchor{45d}@anchor{gnat_rm/obsolescent_features 
package-system-task-info-s-tasinf-ads}@anchor{45e}
 @section package System.Task_Info (@code{s-tasinf.ads})
 
 
@@ -29991,7 +29971,7 @@ to support the @code{Task_Info} pragma. The predefined 
Ada package
 standard replacement for GNAT’s @code{Task_Info} functionality.
 
 @node Compatibility and Porting Guide,GNU Free Documentation 
License,Obsolescent Features,Top
-@anchor{gnat_rm/compatibility_and_porting_guide 
doc}@anchor{461}@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-and-porting-guide}@anchor{17}@anchor{gnat_rm/compatibility_and_porting_guide
 id1}@anchor{462}
+@anchor{gnat_rm/compatibility_and_porting_guide 
doc}@anchor{45f}@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-and-porting-guide}@anchor{17}@anchor{gnat_rm/compatibility_and_porting_guide
 id1}@anchor{460}
 @chapter Compatibility and Porting Guide
 
 
@@ -30013,7 +29993,7 @@ applications developed in other Ada environments.
 @end menu
 
 @node Writing Portable Fixed-Point Declarations,Compatibility with Ada 
83,,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
id2}@anchor{463}@anchor{gnat_rm/compatibility_and_porting_guide 
writing-portable-fixed-point-declarations}@anchor{464}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id2}@anchor{461}@anchor{gnat_rm/compatibility_and_porting_guide 
writing-portable-fixed-point-declarations}@anchor{462}
 @section Writing Portable Fixed-Point Declarations
 
 
@@ -30135,7 +30115,7 @@ If you follow this scheme you will be guaranteed that 
your fixed-point
 types will be portable.
 
 @node Compatibility with Ada 83,Compatibility between Ada 95 and Ada 
2005,Writing Portable Fixed-Point Declarations,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-ada-83}@anchor{465}@anchor{gnat_rm/compatibility_and_porting_guide
 id3}@anchor{466}
+@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-ada-83}@anchor{463}@anchor{gnat_rm/compatibility_and_porting_guide
 id3}@anchor{464}
 @section Compatibility with Ada 83
 
 
@@ -30163,7 +30143,7 @@ following subsections treat the most likely issues to 
be encountered.
 @end menu
 
 @node Legal Ada 83 programs that are illegal in Ada 95,More deterministic 
semantics,,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide 
id4}@anchor{467}@anchor{gnat_rm/compatibility_and_porting_guide 
legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{468}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id4}@anchor{465}@anchor{gnat_rm/compatibility_and_porting_guide 
legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{466}
 @subsection Legal Ada 83 programs that are illegal in Ada 95
 
 
@@ -30263,7 +30243,7 @@ the fix is usually simply to add the @code{(<>)} to the 
generic declaration.
 @end itemize
 
 @node More deterministic semantics,Changed semantics,Legal Ada 83 programs 
that are illegal in Ada 95,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide 
id5}@anchor{469}@anchor{gnat_rm/compatibility_and_porting_guide 
more-deterministic-semantics}@anchor{46a}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id5}@anchor{467}@anchor{gnat_rm/compatibility_and_porting_guide 
more-deterministic-semantics}@anchor{468}
 @subsection More deterministic semantics
 
 
@@ -30291,7 +30271,7 @@ which open select branches are executed.
 @end itemize
 
 @node Changed semantics,Other language compatibility issues,More deterministic 
semantics,Compatibility with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide 
changed-semantics}@anchor{46b}@anchor{gnat_rm/compatibility_and_porting_guide 
id6}@anchor{46c}
+@anchor{gnat_rm/compatibility_and_porting_guide 
changed-semantics}@anchor{469}@anchor{gnat_rm/compatibility_and_porting_guide 
id6}@anchor{46a}
 @subsection Changed semantics
 
 
@@ -30333,7 +30313,7 @@ covers only the restricted range.
 @end itemize
 
 @node Other language compatibility issues,,Changed semantics,Compatibility 
with Ada 83
-@anchor{gnat_rm/compatibility_and_porting_guide 
id7}@anchor{46d}@anchor{gnat_rm/compatibility_and_porting_guide 
other-language-compatibility-issues}@anchor{46e}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id7}@anchor{46b}@anchor{gnat_rm/compatibility_and_porting_guide 
other-language-compatibility-issues}@anchor{46c}
 @subsection Other language compatibility issues
 
 
@@ -30366,7 +30346,7 @@ include @code{pragma Interface} and the floating point 
type attributes
 @end itemize
 
 @node Compatibility between Ada 95 and Ada 2005,Implementation-dependent 
characteristics,Compatibility with Ada 83,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-between-ada-95-and-ada-2005}@anchor{46f}@anchor{gnat_rm/compatibility_and_porting_guide
 id8}@anchor{470}
+@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-between-ada-95-and-ada-2005}@anchor{46d}@anchor{gnat_rm/compatibility_and_porting_guide
 id8}@anchor{46e}
 @section Compatibility between Ada 95 and Ada 2005
 
 
@@ -30438,7 +30418,7 @@ can declare a function returning a value from an 
anonymous access type.
 @end itemize
 
 @node Implementation-dependent characteristics,Compatibility with Other Ada 
Systems,Compatibility between Ada 95 and Ada 2005,Compatibility and Porting 
Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
id9}@anchor{471}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-dependent-characteristics}@anchor{472}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id9}@anchor{46f}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-dependent-characteristics}@anchor{470}
 @section Implementation-dependent characteristics
 
 
@@ -30461,7 +30441,7 @@ transition from certain Ada 83 compilers.
 @end menu
 
 @node Implementation-defined pragmas,Implementation-defined 
attributes,,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide 
id10}@anchor{473}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-defined-pragmas}@anchor{474}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id10}@anchor{471}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-defined-pragmas}@anchor{472}
 @subsection Implementation-defined pragmas
 
 
@@ -30483,7 +30463,7 @@ avoiding compiler rejection of units that contain such 
pragmas; they are not
 relevant in a GNAT context and hence are not otherwise implemented.
 
 @node Implementation-defined attributes,Libraries,Implementation-defined 
pragmas,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide 
id11}@anchor{475}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-defined-attributes}@anchor{476}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id11}@anchor{473}@anchor{gnat_rm/compatibility_and_porting_guide 
implementation-defined-attributes}@anchor{474}
 @subsection Implementation-defined attributes
 
 
@@ -30497,7 +30477,7 @@ Ada 83, GNAT supplies the attributes @code{Bit}, 
@code{Machine_Size} and
 @code{Type_Class}.
 
 @node Libraries,Elaboration order,Implementation-defined 
attributes,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide 
id12}@anchor{477}@anchor{gnat_rm/compatibility_and_porting_guide 
libraries}@anchor{478}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id12}@anchor{475}@anchor{gnat_rm/compatibility_and_porting_guide 
libraries}@anchor{476}
 @subsection Libraries
 
 
@@ -30526,7 +30506,7 @@ be preferable to retrofit the application using modular 
types.
 @end itemize
 
 @node Elaboration order,Target-specific 
aspects,Libraries,Implementation-dependent characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide 
elaboration-order}@anchor{479}@anchor{gnat_rm/compatibility_and_porting_guide 
id13}@anchor{47a}
+@anchor{gnat_rm/compatibility_and_porting_guide 
elaboration-order}@anchor{477}@anchor{gnat_rm/compatibility_and_porting_guide 
id13}@anchor{478}
 @subsection Elaboration order
 
 
@@ -30562,7 +30542,7 @@ pragmas either globally (as an effect of the `-gnatE' 
switch) or locally
 @end itemize
 
 @node Target-specific aspects,,Elaboration order,Implementation-dependent 
characteristics
-@anchor{gnat_rm/compatibility_and_porting_guide 
id14}@anchor{47b}@anchor{gnat_rm/compatibility_and_porting_guide 
target-specific-aspects}@anchor{47c}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id14}@anchor{479}@anchor{gnat_rm/compatibility_and_porting_guide 
target-specific-aspects}@anchor{47a}
 @subsection Target-specific aspects
 
 
@@ -30575,10 +30555,10 @@ on the robustness of the original design.  Moreover, 
Ada 95 (and thus
 Ada 2005 and Ada 2012) are sometimes
 incompatible with typical Ada 83 compiler practices regarding implicit
 packing, the meaning of the Size attribute, and the size of access values.
-GNAT’s approach to these issues is described in @ref{47d,,Representation 
Clauses}.
+GNAT’s approach to these issues is described in @ref{47b,,Representation 
Clauses}.
 
 @node Compatibility with Other Ada Systems,Representation 
Clauses,Implementation-dependent characteristics,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-other-ada-systems}@anchor{47e}@anchor{gnat_rm/compatibility_and_porting_guide
 id15}@anchor{47f}
+@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-other-ada-systems}@anchor{47c}@anchor{gnat_rm/compatibility_and_porting_guide
 id15}@anchor{47d}
 @section Compatibility with Other Ada Systems
 
 
@@ -30621,7 +30601,7 @@ far beyond this minimal set, as described in the next 
section.
 @end itemize
 
 @node Representation Clauses,Compatibility with HP Ada 83,Compatibility with 
Other Ada Systems,Compatibility and Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
id16}@anchor{480}@anchor{gnat_rm/compatibility_and_porting_guide 
representation-clauses}@anchor{47d}
+@anchor{gnat_rm/compatibility_and_porting_guide 
id16}@anchor{47e}@anchor{gnat_rm/compatibility_and_porting_guide 
representation-clauses}@anchor{47b}
 @section Representation Clauses
 
 
@@ -30714,7 +30694,7 @@ with thin pointers.
 @end itemize
 
 @node Compatibility with HP Ada 83,,Representation Clauses,Compatibility and 
Porting Guide
-@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-hp-ada-83}@anchor{481}@anchor{gnat_rm/compatibility_and_porting_guide
 id17}@anchor{482}
+@anchor{gnat_rm/compatibility_and_porting_guide 
compatibility-with-hp-ada-83}@anchor{47f}@anchor{gnat_rm/compatibility_and_porting_guide
 id17}@anchor{480}
 @section Compatibility with HP Ada 83
 
 
@@ -30744,7 +30724,7 @@ extension of package System.
 @end itemize
 
 @node GNU Free Documentation License,Index,Compatibility and Porting Guide,Top
-@anchor{share/gnu_free_documentation_license 
doc}@anchor{483}@anchor{share/gnu_free_documentation_license 
gnu-fdl}@anchor{1}@anchor{share/gnu_free_documentation_license 
gnu-free-documentation-license}@anchor{484}
+@anchor{share/gnu_free_documentation_license 
doc}@anchor{481}@anchor{share/gnu_free_documentation_license 
gnu-fdl}@anchor{1}@anchor{share/gnu_free_documentation_license 
gnu-free-documentation-license}@anchor{482}
 @chapter GNU Free Documentation License
 
 
diff --git a/gcc/ada/impunit.adb b/gcc/ada/impunit.adb
index 915ec0fe059..47a5459792e 100644
--- a/gcc/ada/impunit.adb
+++ b/gcc/ada/impunit.adb
@@ -360,7 +360,6 @@ package body Impunit is
     ("i-java  ", F),  -- Interfaces.Java
     ("i-javjni", F),  -- Interfaces.Java.JNI
     ("i-pacdec", F),  -- Interfaces.Packed_Decimal
-    ("i-vxinco", F),  -- Interfaces.VxWorks.Int_Connection
     ("i-vxwoio", F),  -- Interfaces.VxWorks.IO
     ("i-vxwork", F),  -- Interfaces.VxWorks
 
diff --git a/gcc/ada/libgnarl/i-vxinco.adb b/gcc/ada/libgnarl/i-vxinco.adb
deleted file mode 100644
index 91ca22be1f5..00000000000
--- a/gcc/ada/libgnarl/i-vxinco.adb
+++ /dev/null
@@ -1,48 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
---                                                                          --
---     I N T E R F A C E S . V X W O R K S . I N T  _ C O N N E C T I O N   --
---                                                                          --
---                                  B o d y                                 --
---                                                                          --
---                        Copyright (C) 2016-2024, AdaCore                  --
---                                                                          --
--- 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- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies, Inc.     --
---                                                                          --
-------------------------------------------------------------------------------
-
-package body Interfaces.VxWorks.Int_Connection is
-
-   Connection_Routine : Interrupt_Connector;
-   pragma Import (C, Connection_Routine, "__gnat_user_int_connect");
-   --  Declared in System.Interrupts. Defaults to the standard OS connector in
-   --  System.OS_Interface (or Interfaces.VxWorks for restricted runtimes).
-
-   -------------
-   -- Connect --
-   -------------
-
-   procedure Connect (Connector : Interrupt_Connector) is
-   begin
-      Connection_Routine := Connector;
-   end Connect;
-
-end Interfaces.VxWorks.Int_Connection;
diff --git a/gcc/ada/libgnarl/i-vxinco.ads b/gcc/ada/libgnarl/i-vxinco.ads
deleted file mode 100644
index 9422a859b0c..00000000000
--- a/gcc/ada/libgnarl/i-vxinco.ads
+++ /dev/null
@@ -1,56 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
---                                                                          --
---     I N T E R F A C E S . V X W O R K S . I N T  _ C O N N E C T I O N   --
---                                                                          --
---                                  S p e c                                 --
---                                                                          --
---                        Copyright (C) 2016-2024, AdaCore                  --
---                                                                          --
--- 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- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies, Inc.     --
---                                                                          --
-------------------------------------------------------------------------------
-
---  This package provides users with the ability to use a custom routine for
---  connecting hardware interrupts for VxWorks environments that support the
---  capability to handle them. The custom routine must have the same profile
---  as the VxWorks intConnect() routine.
-
-with System;
-
-package Interfaces.VxWorks.Int_Connection is
-
-   type Interrupt_Connector is access function
-     (Vector    : Interrupt_Vector;
-      Handler   : VOIDFUNCPTR;
-      Parameter : System.Address := System.Null_Address) return STATUS;
-   pragma Convention (C, Interrupt_Connector);
-   --  Convention C for compatibility with intConnect(). User alternatives are
-   --  likely to be imports of C routines anyway.
-
-   procedure Connect (Connector : Interrupt_Connector);
-   --  Set user-defined interrupt connection routine. Must precede calls to
-   --  Ada.Interrupts.Attach_Handler, or the default connector from
-   --  System.OS_Interface (or Interfaces.VxWorks for Ravenscar Cert) will be
-   --  used. Can be called multiple times to change the connection routine for
-   --  subsequent calls to Attach_Handler.
-
-end Interfaces.VxWorks.Int_Connection;
diff --git a/gcc/ada/libgnarl/s-interr__vxworks.adb 
b/gcc/ada/libgnarl/s-interr__vxworks.adb
index 92d6bb84d2b..10839c6b554 100644
--- a/gcc/ada/libgnarl/s-interr__vxworks.adb
+++ b/gcc/ada/libgnarl/s-interr__vxworks.adb
@@ -208,7 +208,9 @@ package body System.Interrupts is
      (Vector    : Interrupt_Vector;
       Handler   : Interrupt_Handler;
       Parameter : System.Address := System.Null_Address) return STATUS;
-   --  Profile must match VxWorks intConnect()
+   --  Profile must match VxWorks intConnect() for VxWorks prior to 7.
+   --  VxWorks 7 does not support intConnect(). The Vxbus subsystem
+   --  should be used instead.
 
    Interrupt_Connect : Interrupt_Connector :=
      System.OS_Interface.Interrupt_Connect'Access;
@@ -271,6 +273,7 @@ package body System.Interrupts is
       Check_Reserved_Interrupt (Interrupt);
       Interrupt_Manager.Attach_Handler (New_Handler, Interrupt, Static);
    end Attach_Handler;
+   pragma Obsolescent (Attach_Handler, "Use the VXBus subsystem instead");
 
    -----------------------------
    -- Bind_Interrupt_To_Entry --
diff --git a/gcc/ada/libgnarl/s-vxwext__kernel.ads 
b/gcc/ada/libgnarl/s-vxwext__kernel.ads
index 6665099f161..25dcbd31a6c 100644
--- a/gcc/ada/libgnarl/s-vxwext__kernel.ads
+++ b/gcc/ada/libgnarl/s-vxwext__kernel.ads
@@ -29,7 +29,7 @@
 --  This package provides vxworks specific support functions needed
 --  by System.OS_Interface.
 
---  This is the VxWorks 6 kernel version of this package
+--  This is the VxWorks 7 kernel version of this package
 
 with Interfaces.C;
 
diff --git a/gcc/ada/libgnat/i-vxwork.ads b/gcc/ada/libgnat/i-vxwork.ads
index 322a61a4d0e..e89e1a86f4b 100644
--- a/gcc/ada/libgnat/i-vxwork.ads
+++ b/gcc/ada/libgnat/i-vxwork.ads
@@ -54,77 +54,6 @@ with System.VxWorks;
 package Interfaces.VxWorks is
    pragma Preelaborate;
 
-   ------------------------------------------------------------------------
-   --  Here is a complete example that shows how to handle the Interrupt 0x14
-   --  with a direct-vectored interrupt handler in Ada using this package:
-
-   --  with Interfaces.VxWorks; use Interfaces.VxWorks;
-   --  with System;
-   --
-   --  package P is
-   --
-   --     Count : Integer;
-   --     pragma Atomic (Count);
-   --
-   --     Level : constant := 1;
-   --     --  Interrupt level used by this example
-   --
-   --     procedure Handler (parameter : System.Address);
-   --
-   --  end P;
-   --
-   --  package body P is
-   --
-   --     procedure Handler (parameter : System.Address) is
-   --        S : STATUS;
-   --     begin
-   --        Count := Count + 1;
-   --        logMsg ("received an interrupt" & ASCII.LF & ASCII.NUL);
-   --
-   --        --  Acknowledge VME interrupt
-   --
-   --        S := sysBusIntAck (intLevel => Level);
-   --     end Handler;
-   --  end P;
-   --
-   --  with Interfaces.VxWorks; use Interfaces.VxWorks;
-   --  with Ada.Text_IO; use Ada.Text_IO;
-   --
-   --  with P; use P;
-   --  procedure Useint is
-   --
-   --     --  Be sure to use a reasonable interrupt number for  board.
-   --     --  This one is the unused VME graphics interrupt on the PPC MV2604
-   --
-   --     Interrupt : constant := 16#14#;
-   --
-   --     task T;
-   --
-   --     S : STATUS;
-   --
-   --     task body T is
-   --     begin
-   --        loop
-   --           Put_Line ("Generating an interrupt...");
-   --           delay 1.0;
-   --
-   --           --  Generate VME interrupt, using interrupt number
-   --
-   --           S := sysBusIntGen (1, Interrupt);
-   --        end loop;
-   --     end T;
-   --
-   --  begin
-   --     S := sysIntEnable (intLevel => Level);
-   --     S := intConnect (INUM_TO_IVEC (Interrupt), handler'Access);
-   --
-   --     loop
-   --        delay 2.0;
-   --        Put_Line ("value of count:" & P.Count'Img);
-   --     end loop;
-   --  end Useint;
-   -------------------------------------
-
    subtype int is Integer;
 
    type STATUS is new int;
@@ -136,52 +65,16 @@ package Interfaces.VxWorks is
    type BOOL is new int;
    --  Equivalent of the C type BOOL
 
-   type VOIDFUNCPTR is access procedure (parameter : System.Address);
    type Interrupt_Vector is new System.Address;
-   type Exception_Vector is new System.Address;
-
-   function intConnect
-     (vector    : Interrupt_Vector;
-      handler   : VOIDFUNCPTR;
-      parameter : System.Address := System.Null_Address) return STATUS;
-   --  Binding to the C routine intConnect. Use this to set up an user handler.
-   --  The routine generates a wrapper around the user handler to save and
-   --  restore context
 
    function intContext return BOOL;
    --  Binding to the C routine intContext. This function returns 1 (TRUE)
    --  only if the current execution state is in interrupt context.
 
-   function intVecGet
-     (Vector : Interrupt_Vector) return VOIDFUNCPTR;
-   --  Binding to the C routine intVecGet. Use this to get the existing handler
-   --  for later restoral
-
-   procedure intVecSet
-     (Vector  : Interrupt_Vector;
-      Handler : VOIDFUNCPTR);
-   --  Binding to the C routine intVecSet. Use this to restore a handler
-   --  obtained using intVecGet
-
    function INUM_TO_IVEC (intNum : int) return Interrupt_Vector;
    --  Equivalent to the C macro INUM_TO_IVEC used to convert an interrupt
    --  number to an interrupt vector
 
-   function sysIntEnable (intLevel : int) return STATUS;
-   --  Binding to the C routine sysIntEnable
-
-   function sysIntDisable (intLevel : int) return STATUS;
-   --  Binding to the C routine sysIntDisable
-
-   function sysBusIntAck (intLevel : int) return STATUS;
-   --  Binding to the C routine sysBusIntAck
-
-   function sysBusIntGen (intLevel : int; Intnum : int) return STATUS;
-   --  Binding to the C routine sysBusIntGen. Note that the T2 documentation
-   --  implies that a vector address is the proper argument - it's not. The
-   --  interrupt number in the range 0 .. 255 (for 68K and PPC) is the correct
-   --  argument.
-
    procedure logMsg
      (fmt : String; arg1, arg2, arg3, arg4, arg5, arg6 : int := 0);
    --  Binding to the C routine logMsg. Note that it is the caller's
@@ -204,16 +97,10 @@ private
    type FP_CONTEXT is new System.VxWorks.FP_CONTEXT;
    --  Target-dependent floating point context type
 
-   pragma Import (C, intConnect, "intConnect");
    pragma Import (C, intContext, "intContext");
-   pragma Import (C, intVecGet, "intVecGet");
-   pragma Import (C, intVecSet, "intVecSet");
    pragma Import (C, INUM_TO_IVEC, "__gnat_inum_to_ivec");
-   pragma Import (C, sysIntEnable, "sysIntEnable");
-   pragma Import (C, sysIntDisable, "sysIntDisable");
-   pragma Import (C, sysBusIntAck, "sysBusIntAck");
-   pragma Import (C, sysBusIntGen, "sysBusIntGen");
    pragma Import (C, logMsg, "logMsg");
    pragma Import (C, fppRestore, "fppRestore");
    pragma Import (C, fppSave, "fppSave");
+
 end Interfaces.VxWorks;
diff --git a/gcc/ada/libgnat/i-vxwork__x86.ads 
b/gcc/ada/libgnat/i-vxwork__x86.ads
index ae1fe13e498..9f79f4665a5 100644
--- a/gcc/ada/libgnat/i-vxwork__x86.ads
+++ b/gcc/ada/libgnat/i-vxwork__x86.ads
@@ -53,73 +53,6 @@ with System.VxWorks;
 package Interfaces.VxWorks is
    pragma Preelaborate;
 
-   ------------------------------------------------------------------------
-   --  Here is a complete example that shows how to handle the Interrupt 0x33
-   --  with a direct-vectored interrupt handler in Ada using this package:
-
-   --  with Interfaces.VxWorks; use Interfaces.VxWorks;
-   --  with System;
-   --
-   --  package P is
-   --
-   --     Count : Integer;
-   --     pragma Atomic (Count);
-   --
-   --     procedure Handler (Parameter : System.Address);
-   --
-   --  end P;
-   --
-   --  package body P is
-   --
-   --     procedure Handler (Parameter : System.Address) is
-   --     begin
-   --        Count := Count + 1;
-   --        logMsg ("received an interrupt" & ASCII.LF & ASCII.NUL);
-   --     end Handler;
-   --  end P;
-   --
-   --  with Interfaces.VxWorks; use Interfaces.VxWorks;
-   --  with Ada.Text_IO; use Ada.Text_IO;
-   --  with Ada.Interrupts;
-   --  with Machine_Code; use Machine_Code;
-   --
-   --  with P; use P;
-   --  procedure Useint is
-   --
-   --     --  Be sure to use a reasonable interrupt number for target board.
-   --     --  This one is an unreserved interrupt for the Pentium 3 BSP
-   --
-   --     Interrupt : constant := 16#33#;
-   --
-   --     task T;
-   --
-   --     S : STATUS;
-   --
-   --     task body T is
-   --     begin
-   --        loop
-   --           Put_Line ("Generating an interrupt...");
-   --           delay 1.0;
-   --
-   --           --  Generate interrupt, using interrupt number
-   --
-   --           Asm ("int %0",
-   --                Inputs =>
-   --                  Ada.Interrupts.Interrupt_ID'Asm_Input
-   --                    ("i", Interrupt));
-   --        end loop;
-   --     end T;
-   --
-   --  begin
-   --     S := intConnect (INUM_TO_IVEC (Interrupt), Handler'Access);
-   --
-   --     loop
-   --        delay 2.0;
-   --        Put_Line ("value of count:" & P.Count'Img);
-   --     end loop;
-   --  end Useint;
-   -------------------------------------
-
    subtype int is Integer;
 
    type STATUS is new int;
@@ -131,49 +64,12 @@ package Interfaces.VxWorks is
    type BOOL is new int;
    --  Equivalent of the C type BOOL
 
-   type VOIDFUNCPTR is access procedure (parameter : System.Address);
    type Interrupt_Vector is new System.Address;
-   type Exception_Vector is new System.Address;
-
-   function intConnect
-     (vector    : Interrupt_Vector;
-      handler   : VOIDFUNCPTR;
-      parameter : System.Address := System.Null_Address) return STATUS;
-   --  Binding to the C routine intConnect. Use this to set up an user handler.
-   --  The routine generates a wrapper around the user handler to save and
-   --  restore context
 
    function intContext return BOOL;
    --  Binding to the C routine intContext. This function returns 1 (TRUE)
    --  only if the current execution state is in interrupt context.
 
-   function intVecGet
-     (Vector : Interrupt_Vector) return VOIDFUNCPTR;
-   --  Binding to the C routine intVecGet. Use this to get the existing handler
-   --  for later restoral
-
-   procedure intVecSet
-     (Vector  : Interrupt_Vector;
-      Handler : VOIDFUNCPTR);
-   --  Binding to the C routine intVecSet. Use this to restore a handler
-   --  obtained using intVecGet
-
-   procedure intVecGet2
-     (vector       : Interrupt_Vector;
-      pFunction    : out VOIDFUNCPTR;
-      pIdtGate     : not null access int;
-      pIdtSelector : not null access int);
-   --  Binding to the C routine intVecGet2. Use this to get the existing
-   --  handler for later restoral
-
-   procedure intVecSet2
-     (vector       : Interrupt_Vector;
-      pFunction    : VOIDFUNCPTR;
-      pIdtGate     : not null access int;
-      pIdtSelector : not null access int);
-   --  Binding to the C routine intVecSet2. Use this to restore a
-   --  handler obtained using intVecGet2
-
    function INUM_TO_IVEC (intNum : int) return Interrupt_Vector;
    --  Equivalent to the C macro INUM_TO_IVEC used to convert an interrupt
    --  number to an interrupt vector
@@ -208,12 +104,7 @@ private
    type FP_CONTEXT is new System.VxWorks.FP_CONTEXT;
    --  Target-dependent floating point context type
 
-   pragma Import (C, intConnect, "intConnect");
    pragma Import (C, intContext, "intContext");
-   pragma Import (C, intVecGet, "intVecGet");
-   pragma Import (C, intVecSet, "intVecSet");
-   pragma Import (C, intVecGet2, "intVecGet2");
-   pragma Import (C, intVecSet2, "intVecSet2");
    pragma Import (C, INUM_TO_IVEC, "__gnat_inum_to_ivec");
    pragma Import (C, logMsg, "logMsg");
    pragma Import (C, fppRestore, "fppRestore");
-- 
2.43.2


Reply via email to