@@ -3116,8 +3116,12 @@ package body Sprint is
Write_Condition_And_Reason (Node);
when N_Raise_Statement =>
- Write_Indent_Str_Sloc ("raise ");
- Sprint_Node (Name (Node));
+ if Present (Name (Node)) then
+ Write_Indent_Str_Sloc ("raise ");
+ Sprint_Node (Name (Node));
+ else
+ Write_Indent_Str_Sloc ("raise");
+ end if;
if Present (Expression (Node)) then
Write_Str_With_Col_Check_Sloc (" with ");
@@ -3127,8 +3131,12 @@ package body Sprint is
Write_Char (';');
when N_Raise_When_Statement =>
- Write_Indent_Str_Sloc ("raise ");
- Sprint_Node (Name (Node));
+ if Present (Name (Node)) then
+ Write_Indent_Str_Sloc ("raise ");
+ Sprint_Node (Name (Node));
+ else
+ Write_Indent_Str_Sloc ("raise");
+ end if;
Write_Str (" when ");
Sprint_Node (Condition (Node));
From: Eric Botcazou <ebotcazou@adacore.com> The Name is optional on these nodes and a superflous space is printed if it is not present on them. gcc/ada/ * sprint.adb (Sprint_Node_Actual) <N_Raise_Statement>: Be prepared for an empty Name. <N_Raise_When_Statement>: Likewise. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sprint.adb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)