+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.
-- --
-- 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 --
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;
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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;
-- --
-- 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 --
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
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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;
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
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
-- --
-- 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 --
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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;
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
-- --
-- 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 --
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
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
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
-- --
-- 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 --
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
-- 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
-- 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
-- --
-- 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- --
-- 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
("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,
("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