diff mbox series

[Ada] Simplify string manipulation related to preprocessing

Message ID 20210708134951.GA2465446@adacore.com
State New
Headers show
Series [Ada] Simplify string manipulation related to preprocessing | expand

Commit Message

Pierre-Marie de Rodat July 8, 2021, 1:49 p.m. UTC
Code cleanup; semantics is unaffected.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* sinput-l.adb (Load_File): Simplify foreword manipulation with
	concatenation; similar for filename with preprocessed output.
diff mbox series

Patch

diff --git a/gcc/ada/sinput-l.adb b/gcc/ada/sinput-l.adb
--- a/gcc/ada/sinput-l.adb
+++ b/gcc/ada/sinput-l.adb
@@ -551,19 +551,10 @@  package body Sinput.L is
             Set_Source_File_Index_Table (X);
 
             if Opt.List_Preprocessing_Symbols then
-               Get_Name_String (N);
-
                declare
-                  Foreword : String (1 .. Foreword_Start'Length +
-                                          Name_Len + Foreword_End'Length);
-
+                  Foreword : constant String :=
+                    Foreword_Start & Get_Name_String (N) & Foreword_End;
                begin
-                  Foreword (1 .. Foreword_Start'Length) := Foreword_Start;
-                  Foreword (Foreword_Start'Length + 1 ..
-                              Foreword_Start'Length + Name_Len) :=
-                    Name_Buffer (1 .. Name_Len);
-                  Foreword (Foreword'Last - Foreword_End'Length + 1 ..
-                              Foreword'Last) := Foreword_End;
                   Prep.List_Symbols (Foreword);
                end;
             end if;
@@ -654,14 +645,13 @@  package body Sinput.L is
                         NB     : Integer;
                         Status : Boolean;
 
-                     begin
-                        Get_Name_String (N);
-                        Add_Str_To_Name_Buffer (Prep_Suffix);
+                        Prep_Filename : constant String :=
+                          Get_Name_String (N) & Prep_Suffix;
 
-                        Delete_File (Name_Buffer (1 .. Name_Len), Status);
+                     begin
+                        Delete_File (Prep_Filename, Status);
 
-                        FD :=
-                          Create_New_File (Name_Buffer (1 .. Name_Len), Text);
+                        FD := Create_New_File (Prep_Filename, Text);
 
                         Status := FD /= Invalid_FD;