public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [COMMITTED] ada: Clean up unnecessary nesting in code for DLL libraries
@ 2022-11-07  8:40 Marc Poulhiès
  0 siblings, 0 replies; only message in thread
From: Marc Poulhiès @ 2022-11-07  8:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: Piotr Trojanek

From: Piotr Trojanek <trojanek@adacore.com>

Code cleanup; issue spotted while examining routines with No_ prefix.

gcc/ada/

	* mdll.ads (Build_Import_Library): Fix grammar in comment.
	* mdll.adb (Build_Import_Library): Directly execute code of a
	nested routine; rename No_Lib_Prefix to Strip_Lib_Prefix.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/mdll.adb | 68 ++++++++++++++++++------------------------------
 gcc/ada/mdll.ads |  4 +--
 2 files changed, 28 insertions(+), 44 deletions(-)

diff --git a/gcc/ada/mdll.adb b/gcc/ada/mdll.adb
index 2107994e5c0..88f8f96927c 100644
--- a/gcc/ada/mdll.adb
+++ b/gcc/ada/mdll.adb
@@ -448,57 +448,41 @@ package body MDLL is
      (Lib_Filename : String;
       Def_Filename : String)
    is
-      procedure Build_Import_Library (Lib_Filename : String);
-      --  Build an import library. This is to build only a .a library to link
-      --  against a DLL.
+      function Strip_Lib_Prefix (Filename : String) return String;
+      --  Return Filename without the lib prefix if present
 
-      --------------------------
-      -- Build_Import_Library --
-      --------------------------
-
-      procedure Build_Import_Library (Lib_Filename : String) is
-
-         function No_Lib_Prefix (Filename : String) return String;
-         --  Return Filename without the lib prefix if present
-
-         -------------------
-         -- No_Lib_Prefix --
-         -------------------
-
-         function No_Lib_Prefix (Filename : String) return String is
-         begin
-            if Filename (Filename'First .. Filename'First + 2) = "lib" then
-               return Filename (Filename'First + 3 .. Filename'Last);
-            else
-               return Filename;
-            end if;
-         end No_Lib_Prefix;
-
-         --  Local variables
-
-         Def_File      : String renames Def_Filename;
-         Dll_File      : constant String := Get_Dll_Name (Lib_Filename);
-         Base_Filename : constant String :=
-                           MDLL.Fil.Ext_To (No_Lib_Prefix (Lib_Filename));
-         Lib_File      : constant String := "lib" & Base_Filename & ".dll.a";
-
-      --  Start of processing for Build_Import_Library
+      ----------------------
+      -- Strip_Lib_Prefix --
+      ----------------------
 
+      function Strip_Lib_Prefix (Filename : String) return String is
       begin
-         if not Quiet then
-            Text_IO.Put_Line ("Building import library...");
-            Text_IO.Put_Line
-              ("make " & Lib_File & " to use dynamic library " & Dll_File);
+         if Filename (Filename'First .. Filename'First + 2) = "lib" then
+            return Filename (Filename'First + 3 .. Filename'Last);
+         else
+            return Filename;
          end if;
+      end Strip_Lib_Prefix;
 
-         Utl.Dlltool
-           (Def_File, Dll_File, Lib_File, Build_Import => True);
-      end Build_Import_Library;
+      --  Local variables
+
+      Def_File      : String renames Def_Filename;
+      Dll_File      : constant String := Get_Dll_Name (Lib_Filename);
+      Base_Filename : constant String :=
+                        MDLL.Fil.Ext_To (Strip_Lib_Prefix (Lib_Filename));
+      Lib_File      : constant String := "lib" & Base_Filename & ".dll.a";
 
    --  Start of processing for Build_Import_Library
 
    begin
-      Build_Import_Library (Lib_Filename);
+      if not Quiet then
+         Text_IO.Put_Line ("Building import library...");
+         Text_IO.Put_Line
+           ("make " & Lib_File & " to use dynamic library " & Dll_File);
+      end if;
+
+      Utl.Dlltool
+        (Def_File, Dll_File, Lib_File, Build_Import => True);
    end Build_Import_Library;
 
    ------------------
diff --git a/gcc/ada/mdll.ads b/gcc/ada/mdll.ads
index 110eb31b001..9f080c0cafe 100644
--- a/gcc/ada/mdll.ads
+++ b/gcc/ada/mdll.ads
@@ -74,7 +74,7 @@ package MDLL is
    procedure Build_Import_Library
      (Lib_Filename : String;
       Def_Filename : String);
-   --  Build an import library (.a) from a definition files. An import library
-   --  is needed to link against a DLL.
+   --  Build an import library (.a) from definition files. An import library is
+   --  needed to link against a DLL.
 
 end MDLL;
-- 
2.34.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-11-07  8:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-07  8:40 [COMMITTED] ada: Clean up unnecessary nesting in code for DLL libraries Marc Poulhiès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).