[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 22 May 2015 10:53:29 +0000 (12:53 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 22 May 2015 10:53:29 +0000 (12:53 +0200)
2015-05-22  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
component of an object to which Volatile_Full_Access applies.

2015-05-22  Jerome Guitton  <guitton@adacore.com>

* exp_dbug.ads: Add note about non bit-packed arrays.

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* sem_prag.adb: Fix typo.
* einfo.ads: Grammar fixes in comments.

2015-05-22  Bob Duff  <duff@adacore.com>

* a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
* a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
* a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
* a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
* a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
* a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
* a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
Add an initialization expression "raise Program_Error". See,
for example, RM-A.18.2(148.4).

From-SVN: r223548

30 files changed:
gcc/ada/ChangeLog
gcc/ada/a-cbdlli.ads
gcc/ada/a-cbhama.ads
gcc/ada/a-cbhase.ads
gcc/ada/a-cbmutr.ads
gcc/ada/a-cborma.ads
gcc/ada/a-cborse.ads
gcc/ada/a-cdlili.ads
gcc/ada/a-cidlli.ads
gcc/ada/a-cihama.ads
gcc/ada/a-cihase.ads
gcc/ada/a-cimutr.ads
gcc/ada/a-ciorma.ads
gcc/ada/a-ciormu.ads
gcc/ada/a-ciorse.ads
gcc/ada/a-cobove.ads
gcc/ada/a-cohama.ads
gcc/ada/a-cohase.ads
gcc/ada/a-coinho-shared.ads
gcc/ada/a-coinho.ads
gcc/ada/a-coinve.ads
gcc/ada/a-comutr.ads
gcc/ada/a-convec.ads
gcc/ada/a-coorma.ads
gcc/ada/a-coormu.ads
gcc/ada/a-coorse.ads
gcc/ada/einfo.ads
gcc/ada/exp_dbug.ads
gcc/ada/sem_ch8.adb
gcc/ada/sem_prag.adb

index e2b22ddcffcf62cbbf56cb0deffca1eab83c2c8b..161d0cf4c963ae87acafb056183ca6cca4b34798 100644 (file)
@@ -1,3 +1,29 @@
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
+       component of an object to which Volatile_Full_Access applies.
+
+2015-05-22  Jerome Guitton  <guitton@adacore.com>
+
+       * exp_dbug.ads: Add note about non bit-packed arrays.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_prag.adb: Fix typo.
+       * einfo.ads: Grammar fixes in comments.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
+       * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
+       * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
+       * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
+       * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
+       * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+       * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
+       Add an initialization expression "raise Program_Error". See,
+       for example, RM-A.18.2(148.4).
+
 2015-05-22  Robert Dewar  <dewar@adacore.com>
 
        * debug.adb: Update documentation.
index d7a1f4946829d07830e4f51757f336b4651bfef9..603cb35b7a0f2e100f765215d60b316cc7f4c49c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -313,9 +313,13 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Read
      (Stream : not null access Root_Stream_Type'Class;
@@ -330,7 +334,11 @@ private
    for Constant_Reference_Type'Write use Write;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Write
index a87c1e9eeaeb9715c8330a495bd50b897405db33..a03bfe6ab07555e1b05dd15b8df39add4fcd0916 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -392,9 +392,13 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Write
      (Stream : not null access Root_Stream_Type'Class;
@@ -409,7 +413,11 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Write
index 619aec9debca0e57b0ca8ced61bf42f3b98125e5..c24fa8a1cf05b255b3480f125e04295e4cd82449 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -549,9 +549,13 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Read
      (Stream : not null access Root_Stream_Type'Class;
index 7fe4b4e2ff532a68eeb18ffe12f8a017fc755443..127b179d43cab4a145319de90553b0304e48277c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---             Copyright (C) 2014, Free Software Foundation, Inc.           --
+--           Copyright (C) 2014-2015, Free Software Foundation, Inc.        --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -346,7 +346,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -362,7 +366,11 @@ private
    type Reference_Type
      (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index d0286827f0d96c32f13c28301416eb1d47d30277..df1a2a2076fe5eac055baa23bd6419b7be24ab9d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -295,9 +295,13 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Read
      (Stream : not null access Root_Stream_Type'Class;
@@ -312,7 +316,11 @@ private
    for Constant_Reference_Type'Write use Write;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Read
index 09cb6510b2c8d1c152ae2c5be08d223e9fcffbd4..9b474a663530e019fd4c7a39b033a1e110b66f10 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -388,10 +388,14 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+     (Element : not null access constant Element_Type) is
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Read
      (Stream : not null access Root_Stream_Type'Class;
index c99e7350afc2e4c9ce2d2655ad1d9a91e5251aca..7740566af6d4e252095ac231e2b6306cdc3918b3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -319,9 +319,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -337,9 +341,13 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index a7e133c303d474e5f532545cba1037ffa2f04557..932fecbf326ddf9c98ae64dd88070d5c44509882 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -313,9 +313,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -331,9 +335,13 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index 6e2df212a22bf602c3f18f4cb20cec05612acb05..a224b3c545427dd594cb8b0cdd04bd4a57b8a279 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -379,9 +379,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -397,9 +401,13 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index 05af6bf32ed3fddb5f6acb6b541e896eff0960dd..f9ae2ac62202ec4b892c875afcba3694227cb2ad 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -449,7 +449,11 @@ package Ada.Containers.Indefinite_Hashed_Sets is
       pragma Inline (Finalize);
 
       type Reference_Type (Element : not null access Element_Type) is record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
       use Ada.Streams;
@@ -541,7 +545,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index 6c3411f1314b34eb7269d341cc036a710c10f706..48d2d5fabd402ffd0f13a7a03fc0357a2b30c02f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2012, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -394,7 +394,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
@@ -412,7 +416,11 @@ private
    type Reference_Type
      (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index e414d39cf71e81d64052f9fb603087edf96784c2..2882a084bd2b8e75bbecc61056aee23aff11d42a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -308,9 +308,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
@@ -326,9 +330,13 @@ private
    for Constant_Reference_Type'Write use Write;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index 68d1835bed9a49eec4f4360b87480847a0504052..7524cf7be3c8358ce8e2b2d1fd875d4825812cb9 100644 (file)
@@ -489,7 +489,11 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    type Cursor is record
index 830f98866249d732f91393f0a04c782d8978d90c..c885b80478ee738fd6276fb23b96d0a410865e97 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -409,9 +409,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index 862076a2a92f4b7e384de9fbee9475539c80a150..3bd1843d7b3214945df40da52278d8fc6939b1be 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -420,10 +420,14 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+     (Element : not null access constant Element_Type) is
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Read
      (Stream : not null access Root_Stream_Type'Class;
@@ -438,7 +442,11 @@ private
    for Constant_Reference_Type'Write use Write;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Read
index 540e24af19d67f9abfc3467dc1ad809a16d1d7c0..049ec448c10a1b53b89664e29b061351ab98f644 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -385,9 +385,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -403,9 +407,13 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index a9990ce6b8d7aae76506f8701135cc1a009e7c71..b80907802a375c9e45331c5f39687378d62d20bf 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -554,7 +554,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index 2ec30f88aefe95db193839ca01ee55e399612ddd..49b91fd6ae36f8fcc4368322698cd2171f72fd15 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2013-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2013-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -145,10 +145,14 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+     (Element : not null access constant Element_Type) is
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Write
      (Stream : not null access Root_Stream_Type'Class;
@@ -163,7 +167,11 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Write
index 2f81d750fceaa45323995aab3c62c3b119562968..271d4ea0d6328e2e6761d3b422c04f8dec77e14a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2011-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2011-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -131,10 +131,14 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
-   record
-      Control : Reference_Control_Type;
-   end record;
+     (Element : not null access constant Element_Type) is
+      record
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
+      end record;
 
    procedure Write
      (Stream : not null access Root_Stream_Type'Class;
@@ -149,7 +153,11 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type (Element : not null access Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    procedure Write
index 2c841671af422c5a6aa2956db63a9ec6f4f821bc..d2f7252e5603a263cdec46012cdd4456a7e72a53 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -426,7 +426,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -444,7 +448,11 @@ private
    type Reference_Type
      (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index c1a3dc85cd557ad4d69b8beb886482cd897190e6..3ea29452929d8459de0d208fa4f71039546c87ac 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -443,7 +443,11 @@ private
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
@@ -461,7 +465,11 @@ private
    type Reference_Type
      (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index 81d1a18d06284dd6247b5329336c15b02bbc4a3d..00dfda2adeb4c37e03172ad9ec1dedfb6f475668 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2012, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -432,9 +432,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
@@ -450,9 +454,13 @@ private
    for Constant_Reference_Type'Read use Read;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index 2a642ac47cb7aa6f97d90e46cb51d686c00fa159..c30520f33da1388eeca01325a12096b1cd5de7f0 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -309,9 +309,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
@@ -327,9 +331,13 @@ private
    for Constant_Reference_Type'Write use Write;
 
    type Reference_Type
-      (Element : not null access Element_Type) is
+     (Element : not null access Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Read
index d7e7b94152b57fbb03d626bccfdbc9f9b7b731d0..51785820b50379afddeadba8bf8ea5f2f3b43945 100644 (file)
@@ -493,7 +493,11 @@ private
 
    type Constant_Reference_Type
      (Element : not null access constant Element_Type) is record
-      Control : Reference_Control_Type;
+      Control : Reference_Control_Type :=
+        raise Program_Error with "uninitialized reference";
+      --  The RM says, "The default initialization of an object of
+      --  type Constant_Reference_Type or Reference_Type propagates
+      --  Program_Error."
    end record;
 
    type Cursor is record
index 315134554e9d2da6ca9c1242720391530c1d2dc5..3e16c944fb076559b1fdd89d8aaa497052f042e9 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2004-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -392,9 +392,13 @@ private
    pragma Inline (Finalize);
 
    type Constant_Reference_Type
-      (Element : not null access constant Element_Type) is
+     (Element : not null access constant Element_Type) is
       record
-         Control : Reference_Control_Type;
+         Control : Reference_Control_Type :=
+           raise Program_Error with "uninitialized reference";
+         --  The RM says, "The default initialization of an object of
+         --  type Constant_Reference_Type or Reference_Type propagates
+         --  Program_Error."
       end record;
 
    procedure Write
index 5fe5da823597329fe68bbdb625496234faac54b4..58f35215ef1f0fa4483a58f79ea57561ffa43727 100644 (file)
@@ -166,7 +166,7 @@ package Einfo is
 --    the Value_Size values differ generate a warning, and are potentially
 --    target dependent).
 
---    The default rule for the value of Value_Size are as follows:
+--    The default rules for the value of Value_Size are as follows:
 
 --       The Value_Size for a base subtype is the minimum number of bits
 --       required to store all values of the type (including the sign bit
@@ -180,9 +180,9 @@ package Einfo is
 --       All other subtypes have a Value_Size corresponding to the minimum
 --       number of bits required to store all values of the subtype. For
 --       dynamic bounds, it is assumed that the value can range down or up
---       to the corresponding bound of the ancestor
+--       to the corresponding bound of the ancestor.
 
---    The RM defined attribute Size corresponds to the Value_Size attribute
+--    The RM defined attribute Size corresponds to the Value_Size attribute.
 
 --    The Size attribute may be defined for a first-named subtype. This sets
 --    the Value_Size of the first-named subtype to the given value, and the
index 727be929aae81bf0c217c59809fe5bb9e26f8351..352e57ff21511872e396deb7204e012e0251ffaf 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1996-2014, Free Software Foundation, Inc.         --
+--          Copyright (C) 1996-2015, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -1061,6 +1061,9 @@ package Exp_Dbug is
    --    ttt is the name of the original declared array
    --    nnn is the component size in bits (1-31)
 
+   --  Note that if the packed array is not bit-packed, the name will simply
+   --  be tttP.
+
    --  When the debugger sees that an object is of a type that is encoded in
    --  this manner, it can use the original type to determine the bounds and
    --  the component type, and the component size to determine the packing
index d3784f8589c6e1bdd28b74482f06b2faa1f95157..20ec73aeb8071f603e2071bc819b033080040cd0 100644 (file)
@@ -912,6 +912,25 @@ package body Sem_Ch8 is
               ("renaming of conversion only allowed for tagged types", Nam);
          end if;
 
+         --  Reject renaming of component of Volatile_Full_Access object
+
+         if Nkind_In (Nam, N_Selected_Component, N_Indexed_Component) then
+            declare
+               P : constant Node_Id := Prefix (Nam);
+            begin
+               if Is_Entity_Name (P) then
+                  if Has_Volatile_Full_Access (Entity (P))
+                       or else
+                     Has_Volatile_Full_Access (Etype (P))
+                  then
+                     Error_Msg_N
+                       ("cannot rename component of Volatile_Full_Access "
+                        & "object", Nam);
+                  end if;
+               end if;
+            end;
+         end if;
+
          Resolve (Nam, T);
 
          --  If the renamed object is a function call of a limited type,
index 43c130555168994662c4a8db57c8185808cd3048..d3babe8cc47c3d12522c20daa9f2e858ffb53bf1 100644 (file)
@@ -5898,7 +5898,7 @@ package body Sem_Prag is
               ("cannot have Volatile_Full_Access and Atomic for same entity");
          end if;
 
-         --  Check for applying VFA to an entity which has volatile component
+         --  Check for applying VFA to an entity which has aliased component
 
          if Prag_Id = Pragma_Volatile_Full_Access then
             declare