https://gcc.gnu.org/g:4dd6f75e35065f2f0732c4cfbaf412b50c51e26e

commit r15-447-g4dd6f75e35065f2f0732c4cfbaf412b50c51e26e
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Thu Feb 8 15:45:11 2024 +0100

    ada: Small fix to printing of raise statements
    
    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.

Diff:
---
 gcc/ada/sprint.adb | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/gcc/ada/sprint.adb b/gcc/ada/sprint.adb
index 938b378b66b2..3f73006ad6e0 100644
--- a/gcc/ada/sprint.adb
+++ b/gcc/ada/sprint.adb
@@ -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));

Reply via email to