From: Denis Mazzucato <[email protected]>

All Preelaborable_Initialization pragmas in the language-defined units are
replaced by the equivalent Preelaborable_Initialization aspect.

gcc/ada/ChangeLog:

        * targparm.adb (Get_Target_Parameters): Address type declaration doesn't
        ends anymore with a semicolon.
        * libgnat/a-cdlili.ads: Replace Preelaborable_Initialization.
        * libgnat/a-cidlli.ads: Likewise.
        * libgnat/a-cihama.ads: Likewise.
        * libgnat/a-cihase.ads: Likewise.
        * libgnat/a-cimutr.ads: Likewise.
        * libgnat/a-ciorma.ads: Likewise.
        * libgnat/a-ciormu.ads: Likewise.
        * libgnat/a-ciorse.ads: Likewise.
        * libgnat/a-cohama.ads: Likewise.
        * libgnat/a-cohase.ads: Likewise.
        * libgnat/a-coinho.ads: Likewise.
        * libgnat/a-coinho__shared.ads: Likewise.
        * libgnat/a-coinve.ads: Likewise.
        * libgnat/a-comutr.ads: Likewise.
        * libgnat/a-convec.ads: Likewise.
        * libgnat/a-coorma.ads: Likewise.
        * libgnat/a-coormu.ads: Likewise.
        * libgnat/a-coorse.ads: Likewise.
        * libgnat/a-crdlli.ads: Likewise.
        * libgnat/a-except.ads: Likewise.
        * libgnat/a-finali.ads: Likewise.
        * libgnat/a-ngcoty.ads: Likewise.
        * libgnat/a-strbou.ads: Likewise.
        * libgnat/a-stream.ads: Likewise.
        * libgnat/a-strmap.ads: Likewise.
        * libgnat/a-strunb.ads: Likewise.
        * libgnat/a-strunb__shared.ads: Likewise.
        * libgnat/a-ststio.ads: Likewise.
        * libgnat/a-stwibo.ads: Likewise.
        * libgnat/a-stwima.ads: Likewise.
        * libgnat/a-stwiun.ads: Likewise.
        * libgnat/a-stwiun__shared.ads: Likewise.
        * libgnat/a-stzbou.ads: Likewise.
        * libgnat/a-stzmap.ads: Likewise.
        * libgnat/a-stzunb.ads: Likewise.
        * libgnat/a-stzunb__shared.ads: Likewise.
        * libgnat/a-tags.ads: Likewise.
        * libgnat/i-cstrin.ads: Likewise.
        * libgnat/s-stopoo.ads: Likewise.
        * libgnat/s-stposu.ads: Likewise.
        * libgnat/system-aix.ads: Likewise.
        * libgnat/system-darwin-arm.ads: Likewise.
        * libgnat/system-darwin-ppc.ads: Likewise.
        * libgnat/system-darwin-x86.ads: Likewise.
        * libgnat/system-djgpp.ads: Likewise.
        * libgnat/system-dragonfly-x86_64.ads: Likewise.
        * libgnat/system-freebsd.ads: Likewise.
        * libgnat/system-gnu.ads: Likewise.
        * libgnat/system-hpux-ia64.ads: Likewise.
        * libgnat/system-hpux.ads: Likewise.
        * libgnat/system-linux-alpha.ads: Likewise.
        * libgnat/system-linux-arm.ads: Likewise.
        * libgnat/system-linux-hppa.ads: Likewise.
        * libgnat/system-linux-ia64.ads: Likewise.
        * libgnat/system-linux-loongarch.ads: Likewise.
        * libgnat/system-linux-m68k.ads: Likewise.
        * libgnat/system-linux-mips.ads: Likewise.
        * libgnat/system-linux-ppc.ads: Likewise.
        * libgnat/system-linux-riscv.ads: Likewise.
        * libgnat/system-linux-s390.ads: Likewise.
        * libgnat/system-linux-sh4.ads: Likewise.
        * libgnat/system-linux-sparc.ads: Likewise.
        * libgnat/system-linux-x86.ads: Likewise.
        * libgnat/system-lynxos178-ppc.ads: Likewise.
        * libgnat/system-lynxos178-x86.ads: Likewise.
        * libgnat/system-mingw.ads: Likewise.
        * libgnat/system-qnx-arm.ads: Likewise.
        * libgnat/system-rtems.ads: Likewise.
        * libgnat/system-solaris-sparc.ads: Likewise.
        * libgnat/system-solaris-x86.ads: Likewise.
        * libgnat/system-vxworks-ppc-kernel.ads: Likewise.
        * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks-ppc-rtp.ads: Likewise.
        * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks7-aarch64.ads: Likewise.
        * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks7-arm.ads: Likewise.
        * libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
        * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
        * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks7-x86-kernel.ads: Likewise.
        * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
        * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
        * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.

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

---
 gcc/ada/libgnat/a-cdlili.ads                        | 10 +++++-----
 gcc/ada/libgnat/a-cidlli.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-cihama.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-cihase.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-cimutr.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-ciorma.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-ciormu.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-ciorse.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-cohama.ads                        | 10 +++++-----
 gcc/ada/libgnat/a-cohase.ads                        | 10 +++++-----
 gcc/ada/libgnat/a-coinho.ads                        |  5 +++--
 gcc/ada/libgnat/a-coinho__shared.ads                |  5 +++--
 gcc/ada/libgnat/a-coinve.ads                        | 10 +++++-----
 gcc/ada/libgnat/a-comutr.ads                        |  8 ++++----
 gcc/ada/libgnat/a-convec.ads                        | 10 +++++-----
 gcc/ada/libgnat/a-coorma.ads                        |  9 +++++----
 gcc/ada/libgnat/a-coormu.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-coorse.ads                        |  9 ++++-----
 gcc/ada/libgnat/a-crdlli.ads                        |  8 ++++----
 gcc/ada/libgnat/a-except.ads                        |  8 ++++----
 gcc/ada/libgnat/a-finali.ads                        |  8 ++++----
 gcc/ada/libgnat/a-ngcoty.ads                        |  4 ++--
 gcc/ada/libgnat/a-strbou.ads                        |  5 +++--
 gcc/ada/libgnat/a-stream.ads                        |  4 ++--
 gcc/ada/libgnat/a-strmap.ads                        |  8 ++++----
 gcc/ada/libgnat/a-strunb.ads                        |  4 ++--
 gcc/ada/libgnat/a-strunb__shared.ads                |  4 ++--
 gcc/ada/libgnat/a-ststio.ads                        |  5 +++--
 gcc/ada/libgnat/a-stwibo.ads                        |  4 ++--
 gcc/ada/libgnat/a-stwima.ads                        |  8 ++++----
 gcc/ada/libgnat/a-stwiun.ads                        |  4 ++--
 gcc/ada/libgnat/a-stwiun__shared.ads                |  4 ++--
 gcc/ada/libgnat/a-stzbou.ads                        |  4 ++--
 gcc/ada/libgnat/a-stzmap.ads                        |  8 ++++----
 gcc/ada/libgnat/a-stzunb.ads                        |  4 ++--
 gcc/ada/libgnat/a-stzunb__shared.ads                |  4 ++--
 gcc/ada/libgnat/a-tags.ads                          |  4 ++--
 gcc/ada/libgnat/i-cstrin.ads                        |  5 +++--
 gcc/ada/libgnat/s-stopoo.ads                        |  5 +++--
 gcc/ada/libgnat/s-stposu.ads                        | 10 ++++++----
 gcc/ada/libgnat/system-aix.ads                      |  4 ++--
 gcc/ada/libgnat/system-darwin-arm.ads               |  4 ++--
 gcc/ada/libgnat/system-darwin-ppc.ads               |  4 ++--
 gcc/ada/libgnat/system-darwin-x86.ads               |  4 ++--
 gcc/ada/libgnat/system-djgpp.ads                    |  4 ++--
 gcc/ada/libgnat/system-dragonfly-x86_64.ads         |  4 ++--
 gcc/ada/libgnat/system-freebsd.ads                  |  4 ++--
 gcc/ada/libgnat/system-gnu.ads                      |  4 ++--
 gcc/ada/libgnat/system-hpux-ia64.ads                |  4 ++--
 gcc/ada/libgnat/system-hpux.ads                     |  4 ++--
 gcc/ada/libgnat/system-linux-alpha.ads              |  4 ++--
 gcc/ada/libgnat/system-linux-arm.ads                |  4 ++--
 gcc/ada/libgnat/system-linux-hppa.ads               |  4 ++--
 gcc/ada/libgnat/system-linux-ia64.ads               |  4 ++--
 gcc/ada/libgnat/system-linux-loongarch.ads          |  4 ++--
 gcc/ada/libgnat/system-linux-m68k.ads               |  4 ++--
 gcc/ada/libgnat/system-linux-mips.ads               |  4 ++--
 gcc/ada/libgnat/system-linux-ppc.ads                |  4 ++--
 gcc/ada/libgnat/system-linux-riscv.ads              |  4 ++--
 gcc/ada/libgnat/system-linux-s390.ads               |  4 ++--
 gcc/ada/libgnat/system-linux-sh4.ads                |  4 ++--
 gcc/ada/libgnat/system-linux-sparc.ads              |  4 ++--
 gcc/ada/libgnat/system-linux-x86.ads                |  4 ++--
 gcc/ada/libgnat/system-lynxos178-ppc.ads            |  4 ++--
 gcc/ada/libgnat/system-lynxos178-x86.ads            |  4 ++--
 gcc/ada/libgnat/system-mingw.ads                    |  4 ++--
 gcc/ada/libgnat/system-qnx-arm.ads                  |  4 ++--
 gcc/ada/libgnat/system-rtems.ads                    |  4 ++--
 gcc/ada/libgnat/system-solaris-sparc.ads            |  4 ++--
 gcc/ada/libgnat/system-solaris-x86.ads              |  4 ++--
 gcc/ada/libgnat/system-vxworks-ppc-kernel.ads       |  4 ++--
 gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads      |  4 ++--
 gcc/ada/libgnat/system-vxworks-ppc-rtp.ads          |  4 ++--
 gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads |  4 ++--
 gcc/ada/libgnat/system-vxworks7-aarch64.ads         |  4 ++--
 gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads     |  4 ++--
 gcc/ada/libgnat/system-vxworks7-arm.ads             |  4 ++--
 gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads      |  4 ++--
 gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads     |  4 ++--
 gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads    |  4 ++--
 gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads   |  4 ++--
 gcc/ada/libgnat/system-vxworks7-x86-kernel.ads      |  4 ++--
 gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads     |  4 ++--
 gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads   |  4 ++--
 gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads  |  4 ++--
 gcc/ada/targparm.adb                                |  2 +-
 86 files changed, 231 insertions(+), 231 deletions(-)

diff --git a/gcc/ada/libgnat/a-cdlili.ads b/gcc/ada/libgnat/a-cdlili.ads
index 93b63b31f7c..323226cd574 100644
--- a/gcc/ada/libgnat/a-cdlili.ads
+++ b/gcc/ada/libgnat/a-cdlili.ads
@@ -58,12 +58,12 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty       => Empty,
-                            Add_Unnamed => Append);
+                            Add_Unnamed => Append),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (List);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+      Preelaborable_Initialization;
 
    Empty_List : constant List;
 
diff --git a/gcc/ada/libgnat/a-cidlli.ads b/gcc/ada/libgnat/a-cidlli.ads
index de7167f3567..87b582d707c 100644
--- a/gcc/ada/libgnat/a-cidlli.ads
+++ b/gcc/ada/libgnat/a-cidlli.ads
@@ -57,12 +57,11 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty       => Empty,
-                            Add_Unnamed => Append);
+                            Add_Unnamed => Append),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (List);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private with
+      Preelaborable_Initialization;
 
    Empty_List : constant List;
 
diff --git a/gcc/ada/libgnat/a-cihama.ads b/gcc/ada/libgnat/a-cihama.ads
index fb6a65e4bad..8862bbbab9f 100644
--- a/gcc/ada/libgnat/a-cihama.ads
+++ b/gcc/ada/libgnat/a-cihama.ads
@@ -59,12 +59,11 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty     => Empty,
-                            Add_Named => Insert);
+                            Add_Named => Insert),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Map);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private with
+      Preelaborable_Initialization;
 
    Empty_Map : constant Map;
    --  Map objects declared without an initialization expression are
diff --git a/gcc/ada/libgnat/a-cihase.ads b/gcc/ada/libgnat/a-cihase.ads
index dbb42f1f8cf..7efc9419bdc 100644
--- a/gcc/ada/libgnat/a-cihase.ads
+++ b/gcc/ada/libgnat/a-cihase.ads
@@ -61,12 +61,11 @@ is
           Default_Iterator  => Iterate,
           Iterator_Element  => Element_Type,
           Aggregate         => (Empty       => Empty,
-                                Add_Unnamed => Include);
+                                Add_Unnamed => Include),
+          Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+     with Preelaborable_Initialization;
 
    Empty_Set : constant Set;
    --  Set objects declared without an initialization expression are
diff --git a/gcc/ada/libgnat/a-cimutr.ads b/gcc/ada/libgnat/a-cimutr.ads
index b7e9b7cffb6..022ae5ed475 100644
--- a/gcc/ada/libgnat/a-cimutr.ads
+++ b/gcc/ada/libgnat/a-cimutr.ads
@@ -54,12 +54,11 @@ is
      with Constant_Indexing => Constant_Reference,
           Variable_Indexing => Reference,
           Default_Iterator  => Iterate,
-          Iterator_Element  => Element_Type;
+          Iterator_Element  => Element_Type,
+          Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Tree);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+     with Preelaborable_Initialization;
 
    Empty_Tree : constant Tree;
 
diff --git a/gcc/ada/libgnat/a-ciorma.ads b/gcc/ada/libgnat/a-ciorma.ads
index 58e4f283435..acf86b6c70b 100644
--- a/gcc/ada/libgnat/a-ciorma.ads
+++ b/gcc/ada/libgnat/a-ciorma.ads
@@ -60,12 +60,11 @@ is
         Default_Iterator  => Iterate,
         Iterator_Element  => Element_Type,
         Aggregate         => (Empty     => Empty,
-                              Add_Named => Insert);
+                              Add_Named => Insert),
+        Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Map);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with Preelaborable_Initialization;
 
    Empty_Map : constant Map;
 
diff --git a/gcc/ada/libgnat/a-ciormu.ads b/gcc/ada/libgnat/a-ciormu.ads
index ddc2722a6a2..894a4934671 100644
--- a/gcc/ada/libgnat/a-ciormu.ads
+++ b/gcc/ada/libgnat/a-ciormu.ads
@@ -58,12 +58,11 @@ is
    type Set is tagged private
    with Constant_Indexing => Constant_Reference,
         Default_Iterator  => Iterate,
-        Iterator_Element  => Element_Type;
+        Iterator_Element  => Element_Type,
+        Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with Preelaborable_Initialization;
 
    Empty_Set : constant Set;
    --  The default value for set objects declared without an explicit
diff --git a/gcc/ada/libgnat/a-ciorse.ads b/gcc/ada/libgnat/a-ciorse.ads
index c19e57e93d0..fcc1aa12e4f 100644
--- a/gcc/ada/libgnat/a-ciorse.ads
+++ b/gcc/ada/libgnat/a-ciorse.ads
@@ -59,12 +59,11 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty       => Empty,
-                            Add_Unnamed => Include);
+                            Add_Unnamed => Include),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private with
+      Preelaborable_Initialization;
 
    Empty_Set : constant Set;
    function Empty  return Set;
diff --git a/gcc/ada/libgnat/a-cohama.ads b/gcc/ada/libgnat/a-cohama.ads
index 2c2577c269e..8f501e1c99f 100644
--- a/gcc/ada/libgnat/a-cohama.ads
+++ b/gcc/ada/libgnat/a-cohama.ads
@@ -103,12 +103,12 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty     => Empty,
-                            Add_Named => Insert);
+                            Add_Named => Insert),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Map);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+      Preelaborable_Initialization;
 
    function "=" (Left, Right : Cursor) return Boolean;
    --  The representation of cursors includes a component used to optimize
diff --git a/gcc/ada/libgnat/a-cohase.ads b/gcc/ada/libgnat/a-cohase.ads
index fb7c944f4ad..6eb5b0c992a 100644
--- a/gcc/ada/libgnat/a-cohase.ads
+++ b/gcc/ada/libgnat/a-cohase.ads
@@ -62,12 +62,12 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty       => Empty,
-                            Add_Unnamed => Include);
+                            Add_Unnamed => Include),
+      Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+      Preelaborable_Initialization;
 
    function "=" (Left, Right : Cursor) return Boolean;
    --  The representation of cursors includes a component used to optimize
diff --git a/gcc/ada/libgnat/a-coinho.ads b/gcc/ada/libgnat/a-coinho.ads
index c9a6aa71226..dcb5b0cddda 100644
--- a/gcc/ada/libgnat/a-coinho.ads
+++ b/gcc/ada/libgnat/a-coinho.ads
@@ -42,8 +42,9 @@ package Ada.Containers.Indefinite_Holders is
    pragma Preelaborate (Indefinite_Holders);
    pragma Remote_Types (Indefinite_Holders);
 
-   type Holder is tagged private;
-   pragma Preelaborable_Initialization (Holder);
+   type Holder is tagged private
+   with
+      Preelaborable_Initialization;
 
    Empty_Holder : constant Holder;
 
diff --git a/gcc/ada/libgnat/a-coinho__shared.ads 
b/gcc/ada/libgnat/a-coinho__shared.ads
index 904ae01065f..a8d0cff84ed 100644
--- a/gcc/ada/libgnat/a-coinho__shared.ads
+++ b/gcc/ada/libgnat/a-coinho__shared.ads
@@ -47,8 +47,9 @@ package Ada.Containers.Indefinite_Holders is
    pragma Preelaborate (Indefinite_Holders);
    pragma Remote_Types (Indefinite_Holders);
 
-   type Holder is tagged private;
-   pragma Preelaborable_Initialization (Holder);
+   type Holder is tagged private
+   with
+      Preelaborable_Initialization;
 
    Empty_Holder : constant Holder;
 
diff --git a/gcc/ada/libgnat/a-coinve.ads b/gcc/ada/libgnat/a-coinve.ads
index 6d2df0cde67..65ff916c31c 100644
--- a/gcc/ada/libgnat/a-coinve.ads
+++ b/gcc/ada/libgnat/a-coinve.ads
@@ -66,12 +66,12 @@ is
      Aggregate         => (Empty          => Empty,
                            Add_Unnamed    => Append,
                            New_Indexed    => New_Vector,
-                           Assign_Indexed => Replace_Element);
+                           Assign_Indexed => Replace_Element),
+     Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Vector);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+     Preelaborable_Initialization;
 
    Empty_Vector : constant Vector;
 
diff --git a/gcc/ada/libgnat/a-comutr.ads b/gcc/ada/libgnat/a-comutr.ads
index adc2cad8e5e..8291408a613 100644
--- a/gcc/ada/libgnat/a-comutr.ads
+++ b/gcc/ada/libgnat/a-comutr.ads
@@ -54,11 +54,11 @@ is
      with Constant_Indexing => Constant_Reference,
           Variable_Indexing => Reference,
           Default_Iterator  => Iterate,
-          Iterator_Element  => Element_Type;
-   pragma Preelaborable_Initialization (Tree);
+          Iterator_Element  => Element_Type,
+          Preelaborable_Initialization;
 
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+     with Preelaborable_Initialization;
 
    Empty_Tree : constant Tree;
 
diff --git a/gcc/ada/libgnat/a-convec.ads b/gcc/ada/libgnat/a-convec.ads
index 5f443798b89..8fad465a1f3 100644
--- a/gcc/ada/libgnat/a-convec.ads
+++ b/gcc/ada/libgnat/a-convec.ads
@@ -97,15 +97,15 @@ is
       Aggregate         => (Empty          => Empty,
                             Add_Unnamed    => Append,
                             New_Indexed    => New_Vector,
-                            Assign_Indexed => Replace_Element);
-
-   pragma Preelaborable_Initialization (Vector);
+                            Assign_Indexed => Replace_Element),
+      Preelaborable_Initialization;
    --  Vector type, to be instantiated by users of this package. If an object
    --  of type Vector is not otherwise initialized, it is initialized to
    --  Empty_Vector.
 
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+      Preelaborable_Initialization;
    --  Cursor pointing into an instance of vector. If an object of type Cursor
    --  is not otherwise initialized, it is initialized to No_Element
 
diff --git a/gcc/ada/libgnat/a-coorma.ads b/gcc/ada/libgnat/a-coorma.ads
index 4ec4d1705fb..644895c808e 100644
--- a/gcc/ada/libgnat/a-coorma.ads
+++ b/gcc/ada/libgnat/a-coorma.ads
@@ -60,11 +60,12 @@ is
       Default_Iterator  => Iterate,
       Iterator_Element  => Element_Type,
       Aggregate         => (Empty     => Empty,
-                            Add_Named => Insert);
-   pragma Preelaborable_Initialization (Map);
+                            Add_Named => Insert),
+      Preelaborable_Initialization;
 
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with
+      Preelaborable_Initialization;
 
    Empty_Map : constant Map;
 
diff --git a/gcc/ada/libgnat/a-coormu.ads b/gcc/ada/libgnat/a-coormu.ads
index 2dbaacbeee2..89e878dbfcf 100644
--- a/gcc/ada/libgnat/a-coormu.ads
+++ b/gcc/ada/libgnat/a-coormu.ads
@@ -57,12 +57,11 @@ is
    type Set is tagged private
    with Constant_Indexing => Constant_Reference,
         Default_Iterator  => Iterate,
-        Iterator_Element  => Element_Type;
+        Iterator_Element  => Element_Type,
+        Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with Preelaborable_Initialization;
 
    Empty_Set : constant Set;
    --  The default value for set objects declared without an explicit
diff --git a/gcc/ada/libgnat/a-coorse.ads b/gcc/ada/libgnat/a-coorse.ads
index aa76e7388f7..c8c8bf04d60 100644
--- a/gcc/ada/libgnat/a-coorse.ads
+++ b/gcc/ada/libgnat/a-coorse.ads
@@ -59,12 +59,11 @@ is
         Default_Iterator  => Iterate,
         Iterator_Element  => Element_Type,
         Aggregate         => (Empty       => Empty,
-                              Add_Unnamed => Include);
+                              Add_Unnamed => Include),
+        Preelaborable_Initialization;
 
-   pragma Preelaborable_Initialization (Set);
-
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with Preelaborable_Initialization;
 
    function Has_Element (Position : Cursor) return Boolean;
 
diff --git a/gcc/ada/libgnat/a-crdlli.ads b/gcc/ada/libgnat/a-crdlli.ads
index 858fecb0869..1f415f6f148 100644
--- a/gcc/ada/libgnat/a-crdlli.ads
+++ b/gcc/ada/libgnat/a-crdlli.ads
@@ -46,11 +46,11 @@ generic
 package Ada.Containers.Restricted_Doubly_Linked_Lists is
    pragma Pure;
 
-   type List (Capacity : Count_Type) is tagged limited private;
-   pragma Preelaborable_Initialization (List);
+   type List (Capacity : Count_Type) is tagged limited private
+   with Preelaborable_Initialization;
 
-   type Cursor is private;
-   pragma Preelaborable_Initialization (Cursor);
+   type Cursor is private
+   with Preelaborable_Initialization;
 
    Empty_List : constant List;
    --  The default value for list objects declared without an explicit
diff --git a/gcc/ada/libgnat/a-except.ads b/gcc/ada/libgnat/a-except.ads
index b1f56d12578..603fb02cc5e 100644
--- a/gcc/ada/libgnat/a-except.ads
+++ b/gcc/ada/libgnat/a-except.ads
@@ -45,13 +45,13 @@ package Ada.Exceptions is
    pragma Preelaborate;
    --  In accordance with Ada 2005 AI-362.
 
-   type Exception_Id is private;
-   pragma Preelaborable_Initialization (Exception_Id);
+   type Exception_Id is private
+   with Preelaborable_Initialization;
 
    Null_Id : constant Exception_Id;
 
-   type Exception_Occurrence is limited private;
-   pragma Preelaborable_Initialization (Exception_Occurrence);
+   type Exception_Occurrence is limited private
+   with Preelaborable_Initialization;
 
    type Exception_Occurrence_Access is access all Exception_Occurrence;
 
diff --git a/gcc/ada/libgnat/a-finali.ads b/gcc/ada/libgnat/a-finali.ads
index 6c7d0f4ab49..5125af0a0d2 100644
--- a/gcc/ada/libgnat/a-finali.ads
+++ b/gcc/ada/libgnat/a-finali.ads
@@ -40,15 +40,15 @@ pragma Warnings (On);
 package Ada.Finalization is
    pragma Pure;
 
-   type Controlled is abstract tagged private;
-   pragma Preelaborable_Initialization (Controlled);
+   type Controlled is abstract tagged private
+   with Preelaborable_Initialization;
 
    procedure Initialize (Object : in out Controlled) is null;
    procedure Adjust     (Object : in out Controlled) is null;
    procedure Finalize   (Object : in out Controlled) is null;
 
-   type Limited_Controlled is abstract tagged limited private;
-   pragma Preelaborable_Initialization (Limited_Controlled);
+   type Limited_Controlled is abstract tagged limited private
+   with Preelaborable_Initialization;
 
    procedure Initialize (Object : in out Limited_Controlled) is null;
    procedure Finalize   (Object : in out Limited_Controlled) is null;
diff --git a/gcc/ada/libgnat/a-ngcoty.ads b/gcc/ada/libgnat/a-ngcoty.ads
index 9974037c793..f5ff0aa90a6 100644
--- a/gcc/ada/libgnat/a-ngcoty.ads
+++ b/gcc/ada/libgnat/a-ngcoty.ads
@@ -45,8 +45,8 @@ package Ada.Numerics.Generic_Complex_Types is
 
    pragma Complex_Representation (Complex);
 
-   type Imaginary is private;
-   pragma Preelaborable_Initialization (Imaginary);
+   type Imaginary is private
+   with Preelaborable_Initialization;
 
    i : constant Imaginary;
    j : constant Imaginary;
diff --git a/gcc/ada/libgnat/a-strbou.ads b/gcc/ada/libgnat/a-strbou.ads
index c849dbea07e..857a65fa9de 100644
--- a/gcc/ada/libgnat/a-strbou.ads
+++ b/gcc/ada/libgnat/a-strbou.ads
@@ -75,8 +75,9 @@ is
 
       Max_Length : constant Positive := Max;
 
-      type Bounded_String is private;
-      pragma Preelaborable_Initialization (Bounded_String);
+      type Bounded_String is private
+      with
+        Preelaborable_Initialization;
 
       Null_Bounded_String : constant Bounded_String;
       --  Null_Bounded_String represents the null string. If an object of type
diff --git a/gcc/ada/libgnat/a-stream.ads b/gcc/ada/libgnat/a-stream.ads
index b9a7b99f437..e32219931d2 100644
--- a/gcc/ada/libgnat/a-stream.ads
+++ b/gcc/ada/libgnat/a-stream.ads
@@ -36,8 +36,8 @@
 package Ada.Streams is
    pragma Pure;
 
-   type Root_Stream_Type is abstract tagged limited private;
-   pragma Preelaborable_Initialization (Root_Stream_Type);
+   type Root_Stream_Type is abstract tagged limited private
+   with Preelaborable_Initialization;
 
    type Stream_Element is mod 2 ** Standard'Storage_Unit;
 
diff --git a/gcc/ada/libgnat/a-strmap.ads b/gcc/ada/libgnat/a-strmap.ads
index b963a63a82c..0b5dff32e02 100644
--- a/gcc/ada/libgnat/a-strmap.ads
+++ b/gcc/ada/libgnat/a-strmap.ads
@@ -59,8 +59,8 @@ is
    -- Character Set Declarations --
    --------------------------------
 
-   type Character_Set is private;
-   pragma Preelaborable_Initialization (Character_Set);
+   type Character_Set is private
+   with Preelaborable_Initialization;
    --  An object of type Character_Set represents a set of characters.
 
    Null_Set : constant Character_Set;
@@ -256,8 +256,8 @@ is
    -- Character Mapping Declarations --
    ------------------------------------
 
-   type Character_Mapping is private;
-   pragma Preelaborable_Initialization (Character_Mapping);
+   type Character_Mapping is private
+   with Preelaborable_Initialization;
    --  An object of type Character_Mapping represents a Character-to-Character
    --  mapping.
 
diff --git a/gcc/ada/libgnat/a-strunb.ads b/gcc/ada/libgnat/a-strunb.ads
index 60d57954e5c..3f13b7f61ef 100644
--- a/gcc/ada/libgnat/a-strunb.ads
+++ b/gcc/ada/libgnat/a-strunb.ads
@@ -73,8 +73,8 @@ is
    subtype String_1 is String (1 .. <>) with Ghost;  --  Type used in contracts
 
    type Unbounded_String is private with
-     Default_Initial_Condition => Length (Unbounded_String) = 0;
-   pragma Preelaborable_Initialization (Unbounded_String);
+     Default_Initial_Condition => Length (Unbounded_String) = 0,
+     Preelaborable_Initialization;
 
    Null_Unbounded_String : constant Unbounded_String;
    --  Represents the null String. If an object of type Unbounded_String is not
diff --git a/gcc/ada/libgnat/a-strunb__shared.ads 
b/gcc/ada/libgnat/a-strunb__shared.ads
index b731183df06..f4309083d5f 100644
--- a/gcc/ada/libgnat/a-strunb__shared.ads
+++ b/gcc/ada/libgnat/a-strunb__shared.ads
@@ -103,8 +103,8 @@ is
    subtype String_1 is String (1 .. <>) with Ghost;  --  Type used in contracts
 
    type Unbounded_String is private with
-     Default_Initial_Condition => Length (Unbounded_String) = 0;
-   pragma Preelaborable_Initialization (Unbounded_String);
+     Default_Initial_Condition => Length (Unbounded_String) = 0,
+     Preelaborable_Initialization;
 
    Null_Unbounded_String : constant Unbounded_String;
 
diff --git a/gcc/ada/libgnat/a-ststio.ads b/gcc/ada/libgnat/a-ststio.ads
index 8c43ecd6ec7..be66bea6f7a 100644
--- a/gcc/ada/libgnat/a-ststio.ads
+++ b/gcc/ada/libgnat/a-ststio.ads
@@ -41,8 +41,9 @@ package Ada.Streams.Stream_IO is
 
    type Stream_Access is access all Root_Stream_Type'Class;
 
-   type File_Type is limited private with Default_Initial_Condition;
-   pragma Preelaborable_Initialization (File_Type);
+   type File_Type is limited private
+   with Default_Initial_Condition,
+        Preelaborable_Initialization;
 
    type File_Mode is (In_File, Out_File, Append_File);
 
diff --git a/gcc/ada/libgnat/a-stwibo.ads b/gcc/ada/libgnat/a-stwibo.ads
index 996dc33f0b3..c22722b3642 100644
--- a/gcc/ada/libgnat/a-stwibo.ads
+++ b/gcc/ada/libgnat/a-stwibo.ads
@@ -47,8 +47,8 @@ package Ada.Strings.Wide_Bounded is
 
       Max_Length : constant Positive := Max;
 
-      type Bounded_Wide_String is private;
-      pragma Preelaborable_Initialization (Bounded_Wide_String);
+      type Bounded_Wide_String is private
+      with Preelaborable_Initialization;
 
       Null_Bounded_Wide_String : constant Bounded_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-stwima.ads b/gcc/ada/libgnat/a-stwima.ads
index be5c7fb5684..1d4fc8acf59 100644
--- a/gcc/ada/libgnat/a-stwima.ads
+++ b/gcc/ada/libgnat/a-stwima.ads
@@ -42,8 +42,8 @@ package Ada.Strings.Wide_Maps is
    -- Wide Character Set Declarations --
    -------------------------------------
 
-   type Wide_Character_Set is private;
-   pragma Preelaborable_Initialization (Wide_Character_Set);
+   type Wide_Character_Set is private
+   with Preelaborable_Initialization;
    --  Representation for a set of Wide_Character values:
 
    Null_Set : constant Wide_Character_Set;
@@ -120,8 +120,8 @@ package Ada.Strings.Wide_Maps is
    -- Wide Character Mapping Declarations --
    -----------------------------------------
 
-   type Wide_Character_Mapping is private;
-   pragma Preelaborable_Initialization (Wide_Character_Mapping);
+   type Wide_Character_Mapping is private
+   with Preelaborable_Initialization;
    --  Representation for a wide character to wide character mapping:
 
    function Value
diff --git a/gcc/ada/libgnat/a-stwiun.ads b/gcc/ada/libgnat/a-stwiun.ads
index a57739946e3..285b5d35a3c 100644
--- a/gcc/ada/libgnat/a-stwiun.ads
+++ b/gcc/ada/libgnat/a-stwiun.ads
@@ -39,8 +39,8 @@ with Ada.Finalization;
 package Ada.Strings.Wide_Unbounded is
    pragma Preelaborate;
 
-   type Unbounded_Wide_String is private;
-   pragma Preelaborable_Initialization (Unbounded_Wide_String);
+   type Unbounded_Wide_String is private
+   with Preelaborable_Initialization;
 
    Null_Unbounded_Wide_String : constant Unbounded_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-stwiun__shared.ads 
b/gcc/ada/libgnat/a-stwiun__shared.ads
index 00cfbdb75cc..2f092789826 100644
--- a/gcc/ada/libgnat/a-stwiun__shared.ads
+++ b/gcc/ada/libgnat/a-stwiun__shared.ads
@@ -48,8 +48,8 @@ private with System.Atomic_Counters;
 package Ada.Strings.Wide_Unbounded is
    pragma Preelaborate;
 
-   type Unbounded_Wide_String is private;
-   pragma Preelaborable_Initialization (Unbounded_Wide_String);
+   type Unbounded_Wide_String is private
+   with Preelaborable_Initialization;
 
    Null_Unbounded_Wide_String : constant Unbounded_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-stzbou.ads b/gcc/ada/libgnat/a-stzbou.ads
index b0ca520d0c0..278875f68ff 100644
--- a/gcc/ada/libgnat/a-stzbou.ads
+++ b/gcc/ada/libgnat/a-stzbou.ads
@@ -47,8 +47,8 @@ package Ada.Strings.Wide_Wide_Bounded is
 
       Max_Length : constant Positive := Max;
 
-      type Bounded_Wide_Wide_String is private;
-      pragma Preelaborable_Initialization (Bounded_Wide_Wide_String);
+      type Bounded_Wide_Wide_String is private
+      with Preelaborable_Initialization;
 
       Null_Bounded_Wide_Wide_String : constant Bounded_Wide_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-stzmap.ads b/gcc/ada/libgnat/a-stzmap.ads
index 201ed713d82..c0ad1643122 100644
--- a/gcc/ada/libgnat/a-stzmap.ads
+++ b/gcc/ada/libgnat/a-stzmap.ads
@@ -42,8 +42,8 @@ package Ada.Strings.Wide_Wide_Maps is
    -- Wide_Wide_Character Set Declarations --
    ------------------------------------------
 
-   type Wide_Wide_Character_Set is private;
-   pragma Preelaborable_Initialization (Wide_Wide_Character_Set);
+   type Wide_Wide_Character_Set is private
+   with Preelaborable_Initialization;
    --  Representation for a set of Wide_Wide_Character values:
 
    Null_Set : constant Wide_Wide_Character_Set;
@@ -120,8 +120,8 @@ package Ada.Strings.Wide_Wide_Maps is
    -- Wide_Wide_Character Mapping Declarations --
    ----------------------------------------------
 
-   type Wide_Wide_Character_Mapping is private;
-   pragma Preelaborable_Initialization (Wide_Wide_Character_Mapping);
+   type Wide_Wide_Character_Mapping is private
+   with Preelaborable_Initialization;
    --  Representation for a wide character to wide character mapping:
 
    function Value
diff --git a/gcc/ada/libgnat/a-stzunb.ads b/gcc/ada/libgnat/a-stzunb.ads
index 8cecbcde1fb..34e41e15a96 100644
--- a/gcc/ada/libgnat/a-stzunb.ads
+++ b/gcc/ada/libgnat/a-stzunb.ads
@@ -39,8 +39,8 @@ with Ada.Finalization;
 package Ada.Strings.Wide_Wide_Unbounded is
    pragma Preelaborate;
 
-   type Unbounded_Wide_Wide_String is private;
-   pragma Preelaborable_Initialization (Unbounded_Wide_Wide_String);
+   type Unbounded_Wide_Wide_String is private
+   with Preelaborable_Initialization;
 
    Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-stzunb__shared.ads 
b/gcc/ada/libgnat/a-stzunb__shared.ads
index 1d57510baf8..f56043b47a3 100644
--- a/gcc/ada/libgnat/a-stzunb__shared.ads
+++ b/gcc/ada/libgnat/a-stzunb__shared.ads
@@ -48,8 +48,8 @@ private with System.Atomic_Counters;
 package Ada.Strings.Wide_Wide_Unbounded is
    pragma Preelaborate;
 
-   type Unbounded_Wide_Wide_String is private;
-   pragma Preelaborable_Initialization (Unbounded_Wide_Wide_String);
+   type Unbounded_Wide_Wide_String is private
+   with Preelaborable_Initialization;
 
    Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String;
 
diff --git a/gcc/ada/libgnat/a-tags.ads b/gcc/ada/libgnat/a-tags.ads
index aec3a268c3b..fecd2ba6077 100644
--- a/gcc/ada/libgnat/a-tags.ads
+++ b/gcc/ada/libgnat/a-tags.ads
@@ -71,8 +71,8 @@ package Ada.Tags is
    pragma Preelaborate;
    --  In accordance with Ada 2005 AI-362
 
-   type Tag is private;
-   pragma Preelaborable_Initialization (Tag);
+   type Tag is private
+   with Preelaborable_Initialization;
 
    No_Tag : constant Tag;
 
diff --git a/gcc/ada/libgnat/i-cstrin.ads b/gcc/ada/libgnat/i-cstrin.ads
index 5939fe041a4..4396690eed9 100644
--- a/gcc/ada/libgnat/i-cstrin.ads
+++ b/gcc/ada/libgnat/i-cstrin.ads
@@ -62,8 +62,9 @@ is
    --  coming from who knows where, it seems a good idea to turn off any
    --  strict aliasing assumptions for this type.
 
-   type chars_ptr is private;
-   pragma Preelaborable_Initialization (chars_ptr);
+   type chars_ptr is private
+   with
+     Preelaborable_Initialization;
 
    type chars_ptr_array is array (size_t range <>) of aliased chars_ptr;
 
diff --git a/gcc/ada/libgnat/s-stopoo.ads b/gcc/ada/libgnat/s-stopoo.ads
index e5153dc00b1..015bd3ed0bd 100644
--- a/gcc/ada/libgnat/s-stopoo.ads
+++ b/gcc/ada/libgnat/s-stopoo.ads
@@ -40,8 +40,9 @@ package System.Storage_Pools
   with Pure
 is
    type Root_Storage_Pool is abstract
-     new Ada.Finalization.Limited_Controlled with private;
-   pragma Preelaborable_Initialization (Root_Storage_Pool);
+     new Ada.Finalization.Limited_Controlled with private
+   with
+     Preelaborable_Initialization;
 
    procedure Allocate
      (Pool                     : in out Root_Storage_Pool;
diff --git a/gcc/ada/libgnat/s-stposu.ads b/gcc/ada/libgnat/s-stposu.ads
index fda350126d8..97aba765858 100644
--- a/gcc/ada/libgnat/s-stposu.ads
+++ b/gcc/ada/libgnat/s-stposu.ads
@@ -41,15 +41,17 @@ package System.Storage_Pools.Subpools is
    pragma Preelaborate;
 
    type Root_Storage_Pool_With_Subpools is abstract
-     new Root_Storage_Pool with private;
-   pragma Preelaborable_Initialization (Root_Storage_Pool_With_Subpools);
+     new Root_Storage_Pool with private
+   with
+     Preelaborable_Initialization;
    --  The base for all implementations of Storage_Pool_With_Subpools. This
    --  type is Limited_Controlled by derivation. To use subpools, an access
    --  type must be associated with an implementation descending from type
    --  Root_Storage_Pool_With_Subpools.
 
-   type Root_Subpool is abstract tagged limited private;
-   pragma Preelaborable_Initialization (Root_Subpool);
+   type Root_Subpool is abstract tagged limited private
+   with
+     Preelaborable_Initialization;
    --  The base for all implementations of Subpool. Objects of this type are
    --  managed by the pool_with_subpools.
 
diff --git a/gcc/ada/libgnat/system-aix.ads b/gcc/ada/libgnat/system-aix.ads
index 5129fbda8d8..b8e9adb07fb 100644
--- a/gcc/ada/libgnat/system-aix.ads
+++ b/gcc/ada/libgnat/system-aix.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-darwin-arm.ads 
b/gcc/ada/libgnat/system-darwin-arm.ads
index f4a14279a51..a5e6a425758 100644
--- a/gcc/ada/libgnat/system-darwin-arm.ads
+++ b/gcc/ada/libgnat/system-darwin-arm.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-darwin-ppc.ads 
b/gcc/ada/libgnat/system-darwin-ppc.ads
index 9c2393b8d3a..f1421c4e86f 100644
--- a/gcc/ada/libgnat/system-darwin-ppc.ads
+++ b/gcc/ada/libgnat/system-darwin-ppc.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-darwin-x86.ads 
b/gcc/ada/libgnat/system-darwin-x86.ads
index c6bcffc7b5a..9c142760dba 100644
--- a/gcc/ada/libgnat/system-darwin-x86.ads
+++ b/gcc/ada/libgnat/system-darwin-x86.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-djgpp.ads b/gcc/ada/libgnat/system-djgpp.ads
index 9241e0c96fa..18ed31bbd42 100644
--- a/gcc/ada/libgnat/system-djgpp.ads
+++ b/gcc/ada/libgnat/system-djgpp.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-dragonfly-x86_64.ads 
b/gcc/ada/libgnat/system-dragonfly-x86_64.ads
index 0222746b2c6..5496518df87 100644
--- a/gcc/ada/libgnat/system-dragonfly-x86_64.ads
+++ b/gcc/ada/libgnat/system-dragonfly-x86_64.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-freebsd.ads 
b/gcc/ada/libgnat/system-freebsd.ads
index 6b20133d4e9..3d3ad8a2238 100644
--- a/gcc/ada/libgnat/system-freebsd.ads
+++ b/gcc/ada/libgnat/system-freebsd.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-gnu.ads b/gcc/ada/libgnat/system-gnu.ads
index 5049ab88856..ff6afc64701 100644
--- a/gcc/ada/libgnat/system-gnu.ads
+++ b/gcc/ada/libgnat/system-gnu.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-hpux-ia64.ads 
b/gcc/ada/libgnat/system-hpux-ia64.ads
index 0279aba44be..f7dfa0ddbf6 100644
--- a/gcc/ada/libgnat/system-hpux-ia64.ads
+++ b/gcc/ada/libgnat/system-hpux-ia64.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-hpux.ads b/gcc/ada/libgnat/system-hpux.ads
index 02ba0dcf46e..d33fa2faab8 100644
--- a/gcc/ada/libgnat/system-hpux.ads
+++ b/gcc/ada/libgnat/system-hpux.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-alpha.ads 
b/gcc/ada/libgnat/system-linux-alpha.ads
index 8bd0567b27c..3b5f1c741d7 100644
--- a/gcc/ada/libgnat/system-linux-alpha.ads
+++ b/gcc/ada/libgnat/system-linux-alpha.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-arm.ads 
b/gcc/ada/libgnat/system-linux-arm.ads
index 68d3bdebcb0..c8fadfbef8e 100644
--- a/gcc/ada/libgnat/system-linux-arm.ads
+++ b/gcc/ada/libgnat/system-linux-arm.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-hppa.ads 
b/gcc/ada/libgnat/system-linux-hppa.ads
index 49bf98544a4..edabc481f41 100644
--- a/gcc/ada/libgnat/system-linux-hppa.ads
+++ b/gcc/ada/libgnat/system-linux-hppa.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-ia64.ads 
b/gcc/ada/libgnat/system-linux-ia64.ads
index 5fccde5d521..eba85790784 100644
--- a/gcc/ada/libgnat/system-linux-ia64.ads
+++ b/gcc/ada/libgnat/system-linux-ia64.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-loongarch.ads 
b/gcc/ada/libgnat/system-linux-loongarch.ads
index 683b7a44155..32d58e90b5e 100644
--- a/gcc/ada/libgnat/system-linux-loongarch.ads
+++ b/gcc/ada/libgnat/system-linux-loongarch.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-m68k.ads 
b/gcc/ada/libgnat/system-linux-m68k.ads
index caa8359dea0..82c1d0741e7 100644
--- a/gcc/ada/libgnat/system-linux-m68k.ads
+++ b/gcc/ada/libgnat/system-linux-m68k.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-mips.ads 
b/gcc/ada/libgnat/system-linux-mips.ads
index 729ffdd4f9f..abb76e37029 100644
--- a/gcc/ada/libgnat/system-linux-mips.ads
+++ b/gcc/ada/libgnat/system-linux-mips.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-ppc.ads 
b/gcc/ada/libgnat/system-linux-ppc.ads
index 5b0c2dcd39c..9f3c57efb30 100644
--- a/gcc/ada/libgnat/system-linux-ppc.ads
+++ b/gcc/ada/libgnat/system-linux-ppc.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-riscv.ads 
b/gcc/ada/libgnat/system-linux-riscv.ads
index b7aeb6bd7be..0b917cfbed1 100644
--- a/gcc/ada/libgnat/system-linux-riscv.ads
+++ b/gcc/ada/libgnat/system-linux-riscv.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-s390.ads 
b/gcc/ada/libgnat/system-linux-s390.ads
index 6d3cbc394dd..bbba48f90c6 100644
--- a/gcc/ada/libgnat/system-linux-s390.ads
+++ b/gcc/ada/libgnat/system-linux-s390.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-sh4.ads 
b/gcc/ada/libgnat/system-linux-sh4.ads
index ccbbc7490b4..85aade09dfa 100644
--- a/gcc/ada/libgnat/system-linux-sh4.ads
+++ b/gcc/ada/libgnat/system-linux-sh4.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-sparc.ads 
b/gcc/ada/libgnat/system-linux-sparc.ads
index 6f9f1a04506..159e0c891d0 100644
--- a/gcc/ada/libgnat/system-linux-sparc.ads
+++ b/gcc/ada/libgnat/system-linux-sparc.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-linux-x86.ads 
b/gcc/ada/libgnat/system-linux-x86.ads
index 325783ceccc..75bcc0854c8 100644
--- a/gcc/ada/libgnat/system-linux-x86.ads
+++ b/gcc/ada/libgnat/system-linux-x86.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-lynxos178-ppc.ads 
b/gcc/ada/libgnat/system-lynxos178-ppc.ads
index ae1762173c8..061a17f1f65 100644
--- a/gcc/ada/libgnat/system-lynxos178-ppc.ads
+++ b/gcc/ada/libgnat/system-lynxos178-ppc.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-lynxos178-x86.ads 
b/gcc/ada/libgnat/system-lynxos178-x86.ads
index 8549120f75e..13a310a71aa 100644
--- a/gcc/ada/libgnat/system-lynxos178-x86.ads
+++ b/gcc/ada/libgnat/system-lynxos178-x86.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-mingw.ads b/gcc/ada/libgnat/system-mingw.ads
index a0633b3f4d6..d0df352e480 100644
--- a/gcc/ada/libgnat/system-mingw.ads
+++ b/gcc/ada/libgnat/system-mingw.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-qnx-arm.ads 
b/gcc/ada/libgnat/system-qnx-arm.ads
index a271612b88b..2513a1d1340 100644
--- a/gcc/ada/libgnat/system-qnx-arm.ads
+++ b/gcc/ada/libgnat/system-qnx-arm.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-rtems.ads b/gcc/ada/libgnat/system-rtems.ads
index 99e14febc5b..48b7beb84f2 100644
--- a/gcc/ada/libgnat/system-rtems.ads
+++ b/gcc/ada/libgnat/system-rtems.ads
@@ -68,8 +68,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := Standard'Storage_Unit;
diff --git a/gcc/ada/libgnat/system-solaris-sparc.ads 
b/gcc/ada/libgnat/system-solaris-sparc.ads
index 9599bc009fd..0d8ae875060 100644
--- a/gcc/ada/libgnat/system-solaris-sparc.ads
+++ b/gcc/ada/libgnat/system-solaris-sparc.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-solaris-x86.ads 
b/gcc/ada/libgnat/system-solaris-x86.ads
index 4b331c6f816..c60939272b4 100644
--- a/gcc/ada/libgnat/system-solaris-x86.ads
+++ b/gcc/ada/libgnat/system-solaris-x86.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks-ppc-kernel.ads 
b/gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
index f95db4a41f8..2f9c0b48af8 100644
--- a/gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
+++ b/gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
index 6890caeb9fe..e266b4b6fa9 100644
--- a/gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks-ppc-rtp.ads 
b/gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
index a4607df5b24..a205140bf11 100644
--- a/gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
+++ b/gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
index a2aabccf748..1a96736cec1 100644
--- a/gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-aarch64.ads 
b/gcc/ada/libgnat/system-vxworks7-aarch64.ads
index 7a94e40e02c..12db85ff63a 100644
--- a/gcc/ada/libgnat/system-vxworks7-aarch64.ads
+++ b/gcc/ada/libgnat/system-vxworks7-aarch64.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
index b7581c25d60..9b5c9b5712e 100644
--- a/gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-arm.ads 
b/gcc/ada/libgnat/system-vxworks7-arm.ads
index 875f4be421b..0b7b68c72f0 100644
--- a/gcc/ada/libgnat/system-vxworks7-arm.ads
+++ b/gcc/ada/libgnat/system-vxworks7-arm.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads 
b/gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
index 356c1c56822..a89e71cc54e 100644
--- a/gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
+++ b/gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
index 7a5cce0061a..862062f8e7c 100644
--- a/gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads 
b/gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
index 6a12d2dac8f..fb15358aedc 100644
--- a/gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
+++ b/gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
index 7670c1b7923..e289495b720 100644
--- a/gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
@@ -66,8 +66,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-x86-kernel.ads 
b/gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
index 9a11ed6b6a3..7a9baa920a2 100644
--- a/gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
+++ b/gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
index 771c2aed4e2..9d73cee9720 100644
--- a/gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads 
b/gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
index 6689f2dedf5..6567a26c839 100644
--- a/gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
+++ b/gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads 
b/gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
index a34aba4974a..3c82efd8e21 100644
--- a/gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
+++ b/gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
@@ -64,8 +64,8 @@ package System is
 
    --  Storage-related Declarations
 
-   type Address is private;
-   pragma Preelaborable_Initialization (Address);
+   type Address is private
+   with Preelaborable_Initialization;
    Null_Address : constant Address;
 
    Storage_Unit : constant := 8;
diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb
index 9496d538b68..d284e61a013 100644
--- a/gcc/ada/targparm.adb
+++ b/gcc/ada/targparm.adb
@@ -307,7 +307,7 @@ package body Targparm is
 
          --  Test for type Address is private
 
-         elsif Looking_At_Skip ("   type Address is private;") then
+         elsif Looking_At_Skip ("   type Address is private") then
             Opt.Address_Is_Private := True;
             goto Line_Loop_Continue;
 
-- 
2.43.0

Reply via email to