Commit 529c2746 by Robert Dewar Committed by Arnaud Charlet

par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses

2006-10-31  Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
        
	* par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
	(P_Type_Declaration): Remove barrier against the reserved word "limited"
	after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
	(P_Type_Declaration): Minor code cleanup. Add support for synchronized
	private extensions.
	(P_Type_Declaration): Add the new actual Abstract_Present to every call
	to P_Interface_Type_Definition.
	(P_Interface_Type_Definition): Addition of one formal to report an error
	if the reserved word abstract has been previously found.
	(P_Identifier_Declarations): Update grammar rules. Handle parsing of an
	object renaming declaration with an access definition or subtype mark
	with a possible null exclusion.

	* par-ch9.adb: Minor error msg fix

	* par-load.adb: Add missing continuation mark to error msg

	* par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation

From-SVN: r118290
parent fd6342ec
...@@ -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-2006, 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- --
...@@ -1545,7 +1545,7 @@ package body Ch9 is ...@@ -1545,7 +1545,7 @@ package body Ch9 is
else else
Error_Msg_SC Error_Msg_SC
("Select alternative (ACCEPT, ABORT, DELAY) expected"); ("select alternative (ACCEPT, ABORT, DELAY) expected");
Alternative := Error; Alternative := Error;
if Token = Tok_Semicolon then if Token = Tok_Semicolon then
......
...@@ -237,9 +237,9 @@ begin ...@@ -237,9 +237,9 @@ begin
else else
Error_Msg ("file { does not contain expected unit!", Loc); Error_Msg ("file { does not contain expected unit!", Loc);
Error_Msg_Unit_1 := Expected_Unit (Cur_Unum); Error_Msg_Unit_1 := Expected_Unit (Cur_Unum);
Error_Msg ("expected unit $!", Loc); Error_Msg ("\\expected unit $!", Loc);
Error_Msg_Unit_1 := Unit_Name (Cur_Unum); Error_Msg_Unit_1 := Unit_Name (Cur_Unum);
Error_Msg ("found unit $!", Loc); Error_Msg ("\\found unit $!", Loc);
end if; end if;
-- In both cases, remove the unit if it is the last unit (which it -- In both cases, remove the unit if it is the last unit (which it
......
...@@ -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-2006, 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- --
...@@ -795,17 +795,12 @@ package body Tchk is ...@@ -795,17 +795,12 @@ package body Tchk is
----------------- -----------------
procedure Wrong_Token (T : Token_Type; P : Position) is procedure Wrong_Token (T : Token_Type; P : Position) is
Missing : constant String := "missing "; Missing : constant String := "missing ";
Image : constant String := Token_Type'Image (T); Image : constant String := Token_Type'Image (T);
Tok_Name : constant String := Image (5 .. Image'Length); Tok_Name : constant String := Image (5 .. Image'Length);
M : String (1 .. Missing'Length + Tok_Name'Length); M : constant String := Missing & Tok_Name;
begin begin
-- Set M to Missing & Tok_Name
M (1 .. Missing'Length) := Missing;
M (Missing'Length + 1 .. M'Last) := Tok_Name;
if Token = Tok_Semicolon then if Token = Tok_Semicolon then
Scan; Scan;
......
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