aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@act-europe.fr>2004-01-13 11:51:34 +0000
committerArnaud Charlet <charlet@act-europe.fr>2004-01-13 11:51:34 +0000
commit9b9a076a34487c7af94e6c975469f52abe47b55a (patch)
tree6815f7bd6ae4c52b808b0e67e421256c4df38f67
parent39785ad8ac19b71581c5af89b6c46758fc2347b1 (diff)
2004-01-13 Ed Schonberg <schonberg@gnat.com>
* exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled components that are initialized with aggregates. 2004-01-13 Vincent Celier <celier@gnat.com> * gnatlink.adb (Process_Binder_File): To find directory of shared libgcc, if "gcc-lib" is not a subdirectory, look for the last subdirectory "lib" in the path of the shared libgnat or libgnarl. * make.adb (Gnatmake): If GCC version is at least 3, link with -shared-libgcc, when there is at least one shared library project. * opt.ads (GCC_Version): New integer constant. * adaint.c (get_gcc_version): New function. 2004-01-13 Robert Dewar <dewar@gnat.com> * sem_dist.adb, sem_res.adb, sem_util.adb, sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb, exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting 2004-01-13 Thomas Quinot <quinot@act-europe.fr> * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb, g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object declarations. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@75802 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/3zsocthi.adb2
-rw-r--r--gcc/ada/5itaprop.adb2
-rw-r--r--gcc/ada/ChangeLog30
-rw-r--r--gcc/ada/adaint.c10
-rw-r--r--gcc/ada/cstand.adb2
-rw-r--r--gcc/ada/einfo.adb4
-rw-r--r--gcc/ada/exp_ch3.adb2
-rw-r--r--gcc/ada/exp_ch4.adb5
-rw-r--r--gcc/ada/exp_ch9.adb12
-rw-r--r--gcc/ada/exp_dist.adb6
-rw-r--r--gcc/ada/g-regpat.adb6
-rw-r--r--gcc/ada/g-spitbo.adb2
-rw-r--r--gcc/ada/gnatlink.adb46
-rw-r--r--gcc/ada/make.adb19
-rw-r--r--gcc/ada/opt.ads11
-rw-r--r--gcc/ada/s-interr.adb2
-rw-r--r--gcc/ada/s-stache.adb2
-rw-r--r--gcc/ada/s-taenca.adb2
-rw-r--r--gcc/ada/sem_dist.adb12
-rw-r--r--gcc/ada/sem_res.adb10
-rw-r--r--gcc/ada/sem_util.adb2
-rw-r--r--gcc/ada/sprint.adb2
22 files changed, 150 insertions, 41 deletions
diff --git a/gcc/ada/3zsocthi.adb b/gcc/ada/3zsocthi.adb
index 6d28e629b81..28e22418847 100644
--- a/gcc/ada/3zsocthi.adb
+++ b/gcc/ada/3zsocthi.adb
@@ -64,7 +64,7 @@ package body GNAT.Sockets.Thin is
Thread_Blocking_IO : Boolean := True;
Unknown_System_Error : constant C.Strings.chars_ptr :=
- C.Strings.New_String ("Unknown system error");
+ C.Strings.New_String ("Unknown system error");
-- The following types and variables are required to create a Hostent
-- record "by hand".
diff --git a/gcc/ada/5itaprop.adb b/gcc/ada/5itaprop.adb
index 9fae2de863c..54a6b488939 100644
--- a/gcc/ada/5itaprop.adb
+++ b/gcc/ada/5itaprop.adb
@@ -201,7 +201,7 @@ package body System.Task_Primitives.Operations is
procedure Abort_Handler (signo : Signal) is
pragma Unreferenced (signo);
- Self_Id : Task_ID := Self;
+ Self_Id : constant Task_ID := Self;
Result : Interfaces.C.int;
Old_Set : aliased sigset_t;
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index ec010c6430d..4d8f668c94a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,33 @@
+2004-01-13 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+ components that are initialized with aggregates.
+
+2004-01-13 Vincent Celier <celier@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): To find directory of shared
+ libgcc, if "gcc-lib" is not a subdirectory, look for the last
+ subdirectory "lib" in the path of the shared libgnat or libgnarl.
+
+ * make.adb (Gnatmake): If GCC version is at least 3, link with
+ -shared-libgcc, when there is at least one shared library project.
+
+ * opt.ads (GCC_Version): New integer constant.
+
+ * adaint.c (get_gcc_version): New function.
+
+2004-01-13 Robert Dewar <dewar@gnat.com>
+
+ * sem_dist.adb, sem_res.adb, sem_util.adb,
+ sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+ exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2004-01-13 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+ g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+ declarations.
+
2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
* misc.c: Remove trailing spaces.
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index b7130d8fbb1..6c3f71a6dfc 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2003, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2004, 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- *
@@ -2487,3 +2487,11 @@ __gnat_lseek (int fd, long offset, int whence)
{
return (int) lseek (fd, offset, whence);
}
+
+/* This function returns the version of GCC being used. Here it's GCC 3. */
+int
+get_gcc_version (void)
+{
+ return 3;
+}
+
diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb
index 061597236ae..5d812e732ab 100644
--- a/gcc/ada/cstand.adb
+++ b/gcc/ada/cstand.adb
@@ -559,6 +559,7 @@ package body CStand is
-- Create type definition node for type String
Tdef_Node := New_Node (N_Unconstrained_Array_Definition, Stloc);
+
declare
CompDef_Node : Node_Id;
begin
@@ -567,6 +568,7 @@ package body CStand is
Set_Subtype_Indication (CompDef_Node, Identifier_For (S_Character));
Set_Component_Definition (Tdef_Node, CompDef_Node);
end;
+
Set_Subtype_Marks (Tdef_Node, New_List);
Append (Identifier_For (S_Positive), Subtype_Marks (Tdef_Node));
Set_Type_Definition (Parent (Standard_String), Tdef_Node);
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
index 12651a3f660..e9a0ddce3a5 100644
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -6,14 +6,14 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2004 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- --
-- ware Foundation; either version 2, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A CPARTICULAR PURPOSE. See the GNU General Public License --
+-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 634a2ba983e..42d15862443 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -1527,7 +1527,7 @@ package body Exp_Ch3 is
-- aggregate that will be expanded inline
if Kind = N_Qualified_Expression then
- Kind := Nkind (Parent (N));
+ Kind := Nkind (Expression (N));
end if;
if Controlled_Type (Typ)
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index cc78eef25ce..1f2640d2206 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -654,7 +654,8 @@ package body Exp_Ch4 is
Comp : RE_Id;
- Stg_Unit_Is_Byte : constant Boolean := System_Storage_Unit = Byte'Size;
+ Byte_Addressable : constant Boolean := System_Storage_Unit = Byte'Size;
+ -- True for byte addressable target
function Length_Less_Than_4 (Opnd : Node_Id) return Boolean;
-- Returns True if the length of the given operand is known to be
@@ -707,7 +708,7 @@ package body Exp_Ch4 is
-- addressing of array components.
if not Is_Bit_Packed_Array (Typ1)
- and then Stg_Unit_Is_Byte
+ and then Byte_Addressable
and then not Java_VM
then
-- The call we generate is:
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index 2db7c839145..9f02d518a97 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -2612,10 +2612,10 @@ package body Exp_Ch9 is
(Parent (Efam)))), Loc))),
Component_Definition =>
- Make_Component_Definition (Loc,
- Aliased_Present => False,
- Subtype_Indication =>
- New_Reference_To (Standard_Character, Loc))));
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication =>
+ New_Reference_To (Standard_Character, Loc))));
Insert_After (Current_Node, Efam_Decl);
Current_Node := Efam_Decl;
@@ -2629,10 +2629,12 @@ package body Exp_Ch9 is
Component_Definition =>
Make_Component_Definition (Loc,
Aliased_Present => False,
+
Subtype_Indication =>
Make_Subtype_Indication (Loc,
Subtype_Mark =>
New_Occurrence_Of (Efam_Type, Loc),
+
Constraint =>
Make_Index_Or_Discriminant_Constraint (Loc,
Constraints => New_List (
@@ -7283,11 +7285,13 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uTask_Info),
+
Component_Definition =>
Make_Component_Definition (Loc,
Aliased_Present => False,
Subtype_Indication =>
New_Reference_To (RTE (RE_Task_Info_Type), Loc)),
+
Expression => New_Copy (
Expression (First (
Pragma_Argument_Associations (
diff --git a/gcc/ada/exp_dist.adb b/gcc/ada/exp_dist.adb
index c8451ac0271..4204cac71f9 100644
--- a/gcc/ada/exp_dist.adb
+++ b/gcc/ada/exp_dist.adb
@@ -55,17 +55,19 @@ package body Exp_Dist is
-- The following model has been used to implement distributed objects:
-- given a designated type D and a RACW type R, then a record of the
-- form:
+
-- type Stub is tagged record
-- [...declaration similar to s-parint.ads RACW_Stub_Type...]
-- end record;
+
-- is built. This type has two properties:
- --
+
-- 1) Since it has the same structure than RACW_Stub_Type, it can be
-- converted to and from this type to make it suitable for
-- System.Partition_Interface.Get_Unique_Remote_Pointer in order
-- to avoid memory leaks when the same remote object arrive on the
-- same partition by following different pathes
- --
+
-- 2) It also has the same dispatching table as the designated type D,
-- and thus can be used as an object designated by a value of type
-- R on any partition other than the one on which the object has
diff --git a/gcc/ada/g-regpat.adb b/gcc/ada/g-regpat.adb
index 35df55d70bd..8857edccbfc 100644
--- a/gcc/ada/g-regpat.adb
+++ b/gcc/ada/g-regpat.adb
@@ -2997,9 +2997,9 @@ package body GNAT.Regpat is
function Match_Whilem (IP : Pointer) return Boolean is
pragma Unreferenced (IP);
- Cc : Current_Curly_Access := Current_Curly;
- N : constant Natural := Cc.Cur + 1;
- Ln : Natural := 0;
+ Cc : constant Current_Curly_Access := Current_Curly;
+ N : constant Natural := Cc.Cur + 1;
+ Ln : Natural := 0;
Lastloc : constant Natural := Cc.Lastloc;
-- Detection of 0-len.
diff --git a/gcc/ada/g-spitbo.adb b/gcc/ada/g-spitbo.adb
index d7598bd72b2..64613e12687 100644
--- a/gcc/ada/g-spitbo.adb
+++ b/gcc/ada/g-spitbo.adb
@@ -169,7 +169,7 @@ package body GNAT.Spitbol is
procedure Reverse_String (Str : in out VString) is
Len : constant Natural := Length (Str);
- Chars : String_Access := Get_String (Str);
+ Chars : constant String_Access := Get_String (Str);
Temp : Character;
begin
diff --git a/gcc/ada/gnatlink.adb b/gcc/ada/gnatlink.adb
index c1b11ba597c..08ad0d8da08 100644
--- a/gcc/ada/gnatlink.adb
+++ b/gcc/ada/gnatlink.adb
@@ -678,7 +678,7 @@ procedure Gnatlink is
-- terminator.
function Index (S, Pattern : String) return Natural;
- -- Return the first occurrence of Pattern in S, or 0 if none.
+ -- Return the last occurrence of Pattern in S, or 0 if none.
function Is_Option_Present (Opt : in String) return Boolean;
-- Return true if the option Opt is already present in
@@ -727,8 +727,9 @@ procedure Gnatlink is
function Index (S, Pattern : String) return Natural is
Len : constant Natural := Pattern'Length;
+
begin
- for J in S'First .. S'Last - Len + 1 loop
+ for J in reverse S'First .. S'Last - Len + 1 loop
if Pattern = S (J .. J + Len - 1) then
return J;
end if;
@@ -1061,7 +1062,42 @@ procedure Gnatlink is
-- Also add path to find libgcc_s.so, if
-- relevant.
- GCC_Index := Index (File_Path.all, "gcc-lib");
+ -- To find the location of the shared version
+ -- of libgcc, we look for "gcc-lib" in the
+ -- path of the library. However, this
+ -- subdirectory is no longer present in
+ -- in recent version of GCC. So, we look for
+ -- the last subdirectory "lib" in the path.
+
+ GCC_Index :=
+ Index (File_Path.all, "gcc-lib");
+
+ if GCC_Index /= 0 then
+ -- The shared version of libgcc is
+ -- located in the parent directory.
+
+ GCC_Index := GCC_Index - 1;
+
+ else
+ GCC_Index :=
+ Index (File_Path.all, "/lib/");
+
+ if GCC_Index = 0 then
+ GCC_Index :=
+ Index (File_Path.all,
+ Directory_Separator &
+ "lib" &
+ Directory_Separator);
+ end if;
+
+ -- We have found a subdirectory "lib",
+ -- this is where the shared version of
+ -- libgcc should be located.
+
+ if GCC_Index /= 0 then
+ GCC_Index := GCC_Index + 3;
+ end if;
+ end if;
-- Look for an eventual run_path_option in
-- the linker switches.
@@ -1124,7 +1160,7 @@ procedure Gnatlink is
(1 .. File_Path'Length
- File_Name'Length)
& Path_Separator
- & File_Path (1 .. GCC_Index - 1));
+ & File_Path (1 .. GCC_Index));
else
Linker_Options.Table
@@ -1137,7 +1173,7 @@ procedure Gnatlink is
(1 .. File_Path'Length
- File_Name'Length)
& Path_Separator
- & File_Path (1 .. GCC_Index - 1));
+ & File_Path (1 .. GCC_Index));
end if;
end if;
end if;
diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb
index ed7c188bc53..f716fe74b90 100644
--- a/gcc/ada/make.adb
+++ b/gcc/ada/make.adb
@@ -393,6 +393,14 @@ package body Make is
Bind_Shared_Known : Boolean := False;
-- Set to True after the first time Bind_Shared is computed
+ Shared_Libgcc : aliased String := "-shared-libgcc";
+
+ No_Shared_Libgcc_Switch : aliased Argument_List := (1 .. 0 => null);
+ Shared_Libgcc_Switch : aliased Argument_List :=
+ (1 => Shared_Libgcc'Access);
+ Link_With_Shared_Libgcc : Argument_List_Access :=
+ No_Shared_Libgcc_Switch'Access;
+
procedure Make_Failed (S1 : String; S2 : String := ""; S3 : String := "");
-- Delete all temp files created by Gnatmake and call Osint.Fail,
-- with the parameter S1, S2 and S3 (see osint.ads).
@@ -3383,6 +3391,7 @@ package body Make is
Make.Initialize;
Bind_Shared := No_Shared_Switch'Access;
+ Link_With_Shared_Libgcc := No_Shared_Libgcc_Switch'Access;
Bind_Shared_Known := False;
Failed_Links.Set_Last (0);
@@ -4769,6 +4778,12 @@ package body Make is
Projects.Table (Proj).Library_Kind /= Static
then
Bind_Shared := Shared_Switch'Access;
+
+ if GCC_Version >= 3 then
+ Link_With_Shared_Libgcc :=
+ Shared_Libgcc_Switch'Access;
+ end if;
+
exit;
end if;
end loop;
@@ -5276,7 +5291,9 @@ package body Make is
-- And invoke the linker
begin
- Link (Main_ALI_File, Args (Args'First .. Last_Arg));
+ Link (Main_ALI_File,
+ Link_With_Shared_Libgcc.all &
+ Args (Args'First .. Last_Arg));
Successful_Links.Increment_Last;
Successful_Links.Table (Successful_Links.Last) :=
Main_ALI_File;
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index 6c6fb3e0831..4dc56be381d 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2003, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2004, 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- --
@@ -444,6 +444,15 @@ package Opt is
-- GNAT
-- Set True to generate full source listing with embedded errors
+ function get_gcc_version return Int;
+ pragma Import (C, get_gcc_version, "get_gcc_version");
+
+ GCC_Version : constant Nat := get_gcc_version;
+ -- GNATMAKE
+ -- Indicates which version of gcc is in use (2 = 2.8.1, 3 = 3.x).
+ -- Used in particular to decide if gcc switch -shared-libgcc should be
+ -- used (it cannot be used for 2.8.1).
+
Global_Discard_Names : Boolean := False;
-- GNAT, GNATBIND
-- Set true if a pragma Discard_Names applies to the current unit
diff --git a/gcc/ada/s-interr.adb b/gcc/ada/s-interr.adb
index f62bfc551be..41c98ccfb16 100644
--- a/gcc/ada/s-interr.adb
+++ b/gcc/ada/s-interr.adb
@@ -1249,7 +1249,7 @@ package body System.Interrupts is
task body Server_Task is
Intwait_Mask : aliased IMNG.Interrupt_Mask;
Ret_Interrupt : Interrupt_ID;
- Self_ID : Task_ID := Self;
+ Self_ID : constant Task_ID := Self;
Tmp_Handler : Parameterless_Handler;
Tmp_ID : Task_ID;
Tmp_Entry_Index : Task_Entry_Index;
diff --git a/gcc/ada/s-stache.adb b/gcc/ada/s-stache.adb
index aa403c3f988..a784ed154cb 100644
--- a/gcc/ada/s-stache.adb
+++ b/gcc/ada/s-stache.adb
@@ -214,7 +214,7 @@ package body System.Stack_Checking is
Full_Check :
declare
- My_Stack : Stack_Access := Set_Stack_Info (Cache'Access);
+ My_Stack : constant Stack_Access := Set_Stack_Info (Cache'Access);
-- At this point Stack.all might already be invalid, so
-- it is essential to use our local copy of Stack!
diff --git a/gcc/ada/s-taenca.adb b/gcc/ada/s-taenca.adb
index cdc9f6f0cd5..db99abcbe3e 100644
--- a/gcc/ada/s-taenca.adb
+++ b/gcc/ada/s-taenca.adb
@@ -262,7 +262,7 @@ package body System.Tasking.Entry_Calls is
if Ceiling_Violation then
declare
- Current_Task : Task_ID := STPO.Self;
+ Current_Task : constant Task_ID := STPO.Self;
Old_Base_Priority : System.Any_Priority;
begin
diff --git a/gcc/ada/sem_dist.adb b/gcc/ada/sem_dist.adb
index c6a9862daf6..efaf5a19241 100644
--- a/gcc/ada/sem_dist.adb
+++ b/gcc/ada/sem_dist.adb
@@ -441,8 +441,7 @@ package body Sem_Dist is
Make_Component_Definition (Loc,
Aliased_Present => False,
Subtype_Indication =>
- New_Reference_To
- (Standard_Integer, Loc))),
+ New_Reference_To (Standard_Integer, Loc))),
Make_Component_Declaration (Loc,
Defining_Identifier =>
@@ -452,8 +451,7 @@ package body Sem_Dist is
Make_Component_Definition (Loc,
Aliased_Present => False,
Subtype_Indication =>
- New_Reference_To
- (RTE (RE_Unsigned_64), Loc))),
+ New_Reference_To (RTE (RE_Unsigned_64), Loc))),
Make_Component_Declaration (Loc,
Defining_Identifier =>
@@ -463,8 +461,7 @@ package body Sem_Dist is
Make_Component_Definition (Loc,
Aliased_Present => False,
Subtype_Indication =>
- New_Reference_To
- (Standard_Natural, Loc))),
+ New_Reference_To (Standard_Natural, Loc))),
Make_Component_Declaration (Loc,
Defining_Identifier =>
@@ -474,8 +471,7 @@ package body Sem_Dist is
Make_Component_Definition (Loc,
Aliased_Present => False,
Subtype_Indication =>
- New_Reference_To
- (Standard_Boolean, Loc)))))));
+ New_Reference_To (Standard_Boolean, Loc)))))));
Insert_After (N, New_Type_Decl);
Set_Equivalent_Type (User_Type, Fat_Type);
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 0fb3fdf8c2b..5960a4d0cf8 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -408,9 +408,10 @@ package body Sem_Res is
and then Scope (Disc) = Current_Scope
and then not
(Nkind (Parent (P)) = N_Subtype_Indication
- and then
- (Nkind (Parent (Parent (P))) = N_Component_Definition
- or else Nkind (Parent (Parent (P))) = N_Subtype_Declaration)
+ and then
+ (Nkind (Parent (Parent (P))) = N_Component_Definition
+ or else
+ Nkind (Parent (Parent (P))) = N_Subtype_Declaration)
and then Paren_Count (N) = 0)
then
Error_Msg_N
@@ -419,8 +420,9 @@ package body Sem_Res is
end if;
-- Detect a common beginner error:
+
-- type R (D : Positive := 100) is record
- -- Name: String (1 .. D);
+ -- Name : String (1 .. D);
-- end record;
-- The default value causes an object of type R to be
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 0c52cc30c30..687d5a5816d 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -3221,7 +3221,7 @@ package body Sem_Util is
function Has_Dependent_Constraint (Comp : Entity_Id) return Boolean is
Comp_Decl : constant Node_Id := Parent (Comp);
Subt_Indic : constant Node_Id :=
- Subtype_Indication (Component_Definition (Comp_Decl));
+ Subtype_Indication (Component_Definition (Comp_Decl));
Constr : Node_Id;
Assn : Node_Id;
diff --git a/gcc/ada/sprint.adb b/gcc/ada/sprint.adb
index a5031aae8a8..10cad35ed78 100644
--- a/gcc/ada/sprint.adb
+++ b/gcc/ada/sprint.adb
@@ -951,9 +951,11 @@ package body Sprint is
when N_Component_Definition =>
Set_Debug_Sloc;
+
if Aliased_Present (Node) then
Write_Str_With_Col_Check ("aliased ");
end if;
+
Sprint_Node (Subtype_Indication (Node));
when N_Component_Declaration =>