Commit d26dc4b5 by Arnaud Charlet

[multiple changes]

2005-12-05  Robert Dewar  <dewar@adacore.com>

	* i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
        i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
	inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
	i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
	krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
	lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
	interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
	s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
	reformatting.

2005-12-05  Robert Dewar  <dewar@adacore.com>

	* s-vaflop-vms-alpha.adb: (Ne_F): New function
	(Ne_G): New function

	* exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
	for tag assignment.
	(Rewrite_Comparison): Handle case where operation is not a comparison
	and ignore, and also handle type conversion case.

2005-12-05  Thomas Quinot  <quinot@adacore.com>

	* exp_aggr.ads: Fix typo in comment.
	???-mark Convert_Aggr_In_Assignment as needing documentation.

2005-12-05  Gary Dismukes  <dismukes@adacore.com>

	* layout.adb: Replace various uses of byte by storage unit throughout.
	(Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
	static size, convert to storage units before returning, to conform to
	spec.

2005-12-05  Matthew Gingell  <gingell@adacore.com>

	* g-exctra.ads: Fix typo in comment.

2005-12-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* utils.c: Minor reformatting.

2005-12-05  Robert Dewar  <dewar@adacore.com>

	* g-soccon.ads: 
	Further comment fixes to make the status of the default file clear

	* s-bitops.adb: Clarify comment for Bits_Array

From-SVN: r108308
parent 9c8457a7
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -43,12 +43,9 @@ package Exp_Aggr is ...@@ -43,12 +43,9 @@ package Exp_Aggr is
-- Decl is an access N_Object_Declaration (produced during -- Decl is an access N_Object_Declaration (produced during
-- allocator expansion), Aggr is the initial expression aggregate -- allocator expansion), Aggr is the initial expression aggregate
-- of an allocator. This procedure perform in-place aggregate -- of an allocator. This procedure perform in-place aggregate
-- assignent in the newly allocated object. -- assignment in the newly allocated object.
procedure Convert_Aggr_In_Assignment (N : Node_Id); procedure Convert_Aggr_In_Assignment (N : Node_Id);
-- Decl is an access N_Object_Declaration (produced during -- ??? documentation needed
-- allocator expansion), Aggr is the initial expression aggregate
-- of an allocator. This procedure perform in-place aggregate
-- assignent in the newly allocated object.
end Exp_Aggr; end Exp_Aggr;
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
-- The default backtrace is in the form of absolute code locations which may -- The default backtrace is in the form of absolute code locations which may
-- be converted to corresponding source locations using the addr2line utility -- be converted to corresponding source locations using the addr2line utility
-- or from within GDB. Please refer to GNAT.Traceback for information about -- or from within GDB. Please refer to GNAT.Traceback for information about
-- what is necessary to be able to exploit thisg possibility. -- what is necessary to be able to exploit this possibility.
-- The backtrace output can also be customized by way of a "decorator" which -- The backtrace output can also be customized by way of a "decorator" which
-- may return any string output in association with a provided call chain. -- may return any string output in association with a provided call chain.
......
...@@ -36,11 +36,12 @@ ...@@ -36,11 +36,12 @@
-- directly with'ed by an applications program. -- directly with'ed by an applications program.
-- WARNING! This file is a default version that must be replaced for -- WARNING! This file is a default version that must be replaced for
-- each platform. -- each platform by running gen-soccon.c which automatically generates
-- The values below were computed from a i686-pc-linux-gnu environment. -- the appropriate target specific values.
-- This file is generated automatically, do not modify it by hand! Instead, -- The values below were computed from a i686-pc-linux-gnu environment,
-- make changes to gen-soccon.c and re-run it on each target. -- but are for illustration purposes only. As noted above, part of a port
-- to a new target is to replace this file appropriately.
package GNAT.Sockets.Constants is package GNAT.Sockets.Constants is
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
-- S p e c -- -- S p e c --
-- (ASCII Version) -- -- (ASCII Version) --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1996-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1996-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1995-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1995-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1993-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1993-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
-- B o d y -- -- B o d y --
-- (GNU version) -- -- (GNU version) --
-- -- -- --
-- Copyright (C) 2005 Free Software Foundation, Inc. -- -- Copyright (C) 2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 2004-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2004-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 2002-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2002-2005, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 2002-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2002-2005, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
-- -- -- --
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
with Atree; use Atree; with Atree; use Atree;
with Opt; use Opt; with Opt; use Opt;
with Sem; use Sem; with Sem; use Sem;
with Sinfo; use Sinfo; with Sinfo; use Sinfo;
with Stand; use Stand; with Stand; use Stand;
package body Itypes is package body Itypes is
...@@ -42,8 +42,7 @@ package body Itypes is ...@@ -42,8 +42,7 @@ package body Itypes is
Related_Id : Entity_Id := Empty; Related_Id : Entity_Id := Empty;
Suffix : Character := ' '; Suffix : Character := ' ';
Suffix_Index : Nat := 0; Suffix_Index : Nat := 0;
Scope_Id : Entity_Id := Current_Scope) Scope_Id : Entity_Id := Current_Scope) return Entity_Id
return Entity_Id
is is
Typ : Entity_Id; Typ : Entity_Id;
...@@ -90,20 +89,19 @@ package body Itypes is ...@@ -90,20 +89,19 @@ package body Itypes is
Related_Nod => Related_Nod, Related_Nod => Related_Nod,
Scope_Id => Scope_Id); Scope_Id => Scope_Id);
Set_Directly_Designated_Type (I_Typ, Set_Directly_Designated_Type (I_Typ, Directly_Designated_Type (T));
Directly_Designated_Type (T)); Set_Etype (I_Typ, T);
Set_Etype (I_Typ, T); Init_Size_Align (I_Typ);
Init_Size_Align (I_Typ); Set_Depends_On_Private (I_Typ, Depends_On_Private (T));
Set_Depends_On_Private (I_Typ, Depends_On_Private (T)); Set_Is_Public (I_Typ, Is_Public (T));
Set_Is_Public (I_Typ, Is_Public (T)); Set_From_With_Type (I_Typ, From_With_Type (T));
Set_From_With_Type (I_Typ, From_With_Type (T)); Set_Is_Access_Constant (I_Typ, Is_Access_Constant (T));
Set_Is_Access_Constant (I_Typ, Is_Access_Constant (T)); Set_Is_Generic_Type (I_Typ, Is_Generic_Type (T));
Set_Is_Generic_Type (I_Typ, Is_Generic_Type (T)); Set_Is_Volatile (I_Typ, Is_Volatile (T));
Set_Is_Volatile (I_Typ, Is_Volatile (T)); Set_Treat_As_Volatile (I_Typ, Treat_As_Volatile (T));
Set_Treat_As_Volatile (I_Typ, Treat_As_Volatile (T)); Set_Is_Atomic (I_Typ, Is_Atomic (T));
Set_Is_Atomic (I_Typ, Is_Atomic (T)); Set_Is_Ada_2005 (I_Typ, Is_Ada_2005 (T));
Set_Is_Ada_2005 (I_Typ, Is_Ada_2005 (T)); Set_Can_Never_Be_Null (I_Typ);
Set_Can_Never_Be_Null (I_Typ);
return I_Typ; return I_Typ;
end Create_Null_Excluding_Itype; end Create_Null_Excluding_Itype;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -85,8 +85,7 @@ package Itypes is ...@@ -85,8 +85,7 @@ package Itypes is
Related_Id : Entity_Id := Empty; Related_Id : Entity_Id := Empty;
Suffix : Character := ' '; Suffix : Character := ' ';
Suffix_Index : Nat := 0; Suffix_Index : Nat := 0;
Scope_Id : Entity_Id := Current_Scope) Scope_Id : Entity_Id := Current_Scope) return Entity_Id;
return Entity_Id;
-- Used to create a new Itype. -- Used to create a new Itype.
-- --
-- Related_Nod is the node for which this Itype was created. It is -- Related_Nod is the node for which this Itype was created. It is
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
with Hostparm; with Hostparm;
procedure Krunch procedure Krunch
(Buffer : in out String; (Buffer : in out String;
Len : in out Natural; Len : in out Natural;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 2001-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2001-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -107,7 +107,7 @@ package body Layout is ...@@ -107,7 +107,7 @@ package body Layout is
-- dynamic sizes in storage units. If the argument N is anything other -- dynamic sizes in storage units. If the argument N is anything other
-- than an integer literal, it is returned unchanged, but if it is an -- than an integer literal, it is returned unchanged, but if it is an
-- integer literal, then it is taken as a size in bits, and is replaced -- integer literal, then it is taken as a size in bits, and is replaced
-- by the corresponding size in bytes. -- by the corresponding size in storage units.
function Compute_Length (Lo : Node_Id; Hi : Node_Id) return Node_Id; function Compute_Length (Lo : Node_Id; Hi : Node_Id) return Node_Id;
-- Given expressions for the low bound (Lo) and the high bound (Hi), -- Given expressions for the low bound (Lo) and the high bound (Hi),
...@@ -154,7 +154,7 @@ package body Layout is ...@@ -154,7 +154,7 @@ package body Layout is
-- resolved (which may not be the case yet if we build the expression -- resolved (which may not be the case yet if we build the expression
-- in this unit). -- in this unit).
function Get_Max_Size (E : Entity_Id) return Node_Id; function Get_Max_SU_Size (E : Entity_Id) return Node_Id;
-- E is an array type or subtype that has at least one index bound that -- E is an array type or subtype that has at least one index bound that
-- is the value of a record discriminant. For such an array, the function -- is the value of a record discriminant. For such an array, the function
-- computes an expression that yields the maximum possible size of the -- computes an expression that yields the maximum possible size of the
...@@ -222,7 +222,7 @@ package body Layout is ...@@ -222,7 +222,7 @@ package body Layout is
Esize_Set := Has_Size_Clause (E); Esize_Set := Has_Size_Clause (E);
end if; end if;
-- If size is known it must be a multiple of the byte size -- If size is known it must be a multiple of the storage unit size
if Esize (E) mod SSU /= 0 then if Esize (E) mod SSU /= 0 then
...@@ -230,10 +230,11 @@ package body Layout is ...@@ -230,10 +230,11 @@ package body Layout is
if Esize_Set then if Esize_Set then
Error_Msg_NE Error_Msg_NE
("size for& not a multiple of byte size", Size_Clause (E), E); ("size for& not a multiple of storage unit size",
Size_Clause (E), E);
return; return;
-- Otherwise bump up size to a byte boundary -- Otherwise bump up size to a storage unit boundary
else else
Set_Esize (E, (Esize (E) + SSU - 1) / SSU * SSU); Set_Esize (E, (Esize (E) + SSU - 1) / SSU * SSU);
...@@ -270,7 +271,7 @@ package body Layout is ...@@ -270,7 +271,7 @@ package body Layout is
-- In this situation, the initial alignment of t is 4, copied from -- In this situation, the initial alignment of t is 4, copied from
-- the Integer base type, but it is safe to reduce it to 1 at this -- the Integer base type, but it is safe to reduce it to 1 at this
-- stage, since we will only be loading a single byte. -- stage, since we will only be loading a single storage unit.
if Is_Discrete_Type (Etype (E)) if Is_Discrete_Type (Etype (E))
and then not Has_Alignment_Clause (E) and then not Has_Alignment_Clause (E)
...@@ -652,11 +653,11 @@ package body Layout is ...@@ -652,11 +653,11 @@ package body Layout is
end if; end if;
end Expr_From_SO_Ref; end Expr_From_SO_Ref;
------------------ ---------------------
-- Get_Max_Size -- -- Get_Max_SU_Size --
------------------ ---------------------
function Get_Max_Size (E : Entity_Id) return Node_Id is function Get_Max_SU_Size (E : Entity_Id) return Node_Id is
Loc : constant Source_Ptr := Sloc (E); Loc : constant Source_Ptr := Sloc (E);
Indx : Node_Id; Indx : Node_Id;
Ityp : Entity_Id; Ityp : Entity_Id;
...@@ -725,7 +726,7 @@ package body Layout is ...@@ -725,7 +726,7 @@ package body Layout is
end if; end if;
end Min_Discrim; end Min_Discrim;
-- Start of processing for Get_Max_Size -- Start of processing for Get_Max_SU_Size
begin begin
pragma Assert (Size_Depends_On_Discriminant (E)); pragma Assert (Size_Depends_On_Discriminant (E));
...@@ -859,10 +860,10 @@ package body Layout is ...@@ -859,10 +860,10 @@ package body Layout is
end loop; end loop;
-- Here after processing all bounds to set sizes. If the value is -- Here after processing all bounds to set sizes. If the value is
-- a constant, then it is bits, and we just return the value. -- a constant, then it is bits, so we convert to storage units.
if Size.Status = Const then if Size.Status = Const then
return Make_Integer_Literal (Loc, Size.Val); return Bits_To_SU (Make_Integer_Literal (Loc, Size.Val));
-- Case where the value is dynamic -- Case where the value is dynamic
...@@ -884,7 +885,7 @@ package body Layout is ...@@ -884,7 +885,7 @@ package body Layout is
return Size.Nod; return Size.Nod;
end if; end if;
end Get_Max_Size; end Get_Max_SU_Size;
----------------------- -----------------------
-- Layout_Array_Type -- -- Layout_Array_Type --
...@@ -1480,7 +1481,7 @@ package body Layout is ...@@ -1480,7 +1481,7 @@ package body Layout is
-- Get maximum size of previous component -- Get maximum size of previous component
if Size_Depends_On_Discriminant (Etype (Prev_Comp)) then if Size_Depends_On_Discriminant (Etype (Prev_Comp)) then
Old_Maxsz := Get_Max_Size (Etype (Prev_Comp)); Old_Maxsz := Get_Max_SU_Size (Etype (Prev_Comp));
else else
Old_Maxsz := Expr_From_SO_Ref (Loc, Old_Esiz, Prev_Comp); Old_Maxsz := Expr_From_SO_Ref (Loc, Old_Esiz, Prev_Comp);
end if; end if;
...@@ -2556,7 +2557,7 @@ package body Layout is ...@@ -2556,7 +2557,7 @@ package body Layout is
-- For scalar types, increase Object_Size to power of 2, -- For scalar types, increase Object_Size to power of 2,
-- but not less than a storage unit in any case (i.e., -- but not less than a storage unit in any case (i.e.,
-- normally this means it will be byte addressable). -- normally this means it will be storage-unit addressable).
if Is_Scalar_Type (E) then if Is_Scalar_Type (E) then
if Size <= System_Storage_Unit then if Size <= System_Storage_Unit then
...@@ -2717,7 +2718,8 @@ package body Layout is ...@@ -2717,7 +2718,8 @@ package body Layout is
-- Size is known, alignment is not set -- Size is known, alignment is not set
-- Reset alignment to match size if size is exactly 2, 4, or 8 bytes -- Reset alignment to match size if size is exactly 2, 4, or 8
-- storage units.
if Siz = 2 * System_Storage_Unit then if Siz = 2 * System_Storage_Unit then
Align := 2; Align := 2;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 2000-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2000-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 2004-2005 Free Software Foundation, Inc. -- -- Copyright (C) 2004-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
......
...@@ -40,12 +40,13 @@ with Unchecked_Conversion; ...@@ -40,12 +40,13 @@ with Unchecked_Conversion;
package body System.Bit_Ops is package body System.Bit_Ops is
subtype Bits_Array is System.Unsigned_Types.Packed_Bytes1 (Positive); subtype Bits_Array is System.Unsigned_Types.Packed_Bytes1 (Positive);
-- Constrained array used to interpret the address values. We use the -- Dummy array type used to interpret the address values. We use the
-- unaligned version always, since this will handle both the aligned and -- unaligned version always, since this will handle both the aligned and
-- unaligned cases, and we always do these operations by bytes anyway. -- unaligned cases, and we always do these operations by bytes anyway.
-- Note: we use a ones origin array here so that the computations of the -- Note: we use a ones origin array here so that the computations of the
-- length in bytes work correctly (give a non-negative value) for the -- length in bytes work correctly (give a non-negative value) for the
-- case of zero length bit strings). -- case of zero length bit strings). Note that we never allocate any
-- objects of this type (we can't because they would be absurdly big).
type Bits is access Bits_Array; type Bits is access Bits_Array;
-- This is the actual type into which address values are converted -- This is the actual type into which address values are converted
......
...@@ -171,7 +171,7 @@ package System.WCh_Con is ...@@ -171,7 +171,7 @@ package System.WCh_Con is
subtype WC_ESC_Encoding_Method is subtype WC_ESC_Encoding_Method is
WC_Encoding_Method range WCEM_Hex .. WCEM_Hex; WC_Encoding_Method range WCEM_Hex .. WCEM_Hex;
-- Encoding methods using an ESC character at the start of the sequence. -- Encoding methods using an ESC character at the start of the sequence
subtype WC_Upper_Half_Encoding_Method is subtype WC_Upper_Half_Encoding_Method is
WC_Encoding_Method range WCEM_Upper .. WCEM_UTF8; WC_Encoding_Method range WCEM_Upper .. WCEM_UTF8;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -24,15 +24,15 @@ ...@@ -24,15 +24,15 @@
-- -- -- --
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
with Types; use Types; -- This package contains functions that return the default values for the
package Sdefault is -- include and object file directories, target name, default library
-- subdirectory (libsubdir) prefix, and the target OS.
-- This package contains functions that return the default values for with Types; use Types;
-- the include and object file directories, target name, and the default
-- library subdirectory (libsubdir) prefix.
package Sdefault is
function Include_Dir_Default_Name return String_Ptr; function Include_Dir_Default_Name return String_Ptr;
function Object_Dir_Default_Name return String_Ptr; function Object_Dir_Default_Name return String_Ptr;
function Target_Name return String_Ptr; function Target_Name return String_Ptr;
function Search_Dir_Prefix return String_Ptr; function Search_Dir_Prefix return String_Ptr;
end Sdefault; end Sdefault;
...@@ -777,7 +777,7 @@ package body Sem_Ch10 is ...@@ -777,7 +777,7 @@ package body Sem_Ch10 is
declare declare
Save_Style_Check : constant Boolean := Style_Check; Save_Style_Check : constant Boolean := Style_Check;
Save_Warning : constant Warning_Mode_Type := Warning_Mode; Save_Warning : constant Warning_Mode_Type := Warning_Mode;
Options : Style_Check_Options; Options : Style_Check_Options;
begin begin
Save_Style_Check_Options (Options); Save_Style_Check_Options (Options);
......
...@@ -3094,9 +3094,10 @@ remove_conversions (tree exp, bool true_address) ...@@ -3094,9 +3094,10 @@ remove_conversions (tree exp, bool true_address)
if (true_address if (true_address
&& TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE && TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE
&& TYPE_JUSTIFIED_MODULAR_P (TREE_TYPE (exp))) && TYPE_JUSTIFIED_MODULAR_P (TREE_TYPE (exp)))
return remove_conversions (VEC_index (constructor_elt, return
CONSTRUCTOR_ELTS (exp), 0)->value, remove_conversions (VEC_index (constructor_elt,
true); CONSTRUCTOR_ELTS (exp), 0)->value,
true);
break; break;
case COMPONENT_REF: case COMPONENT_REF:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment