public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-3736] ada: Clean up unnecessary nesting in code for DLL libraries
@ 2022-11-07  8:39 Marc Poulhi?s
  0 siblings, 0 replies; only message in thread
From: Marc Poulhi?s @ 2022-11-07  8:39 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:90908af3f8648567f1027260d38e5979e45066a3

commit r13-3736-g90908af3f8648567f1027260d38e5979e45066a3
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Fri Oct 14 12:17:30 2022 +0200

    ada: Clean up unnecessary nesting in code for DLL libraries
    
    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.

Diff:
---
 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;

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

only message in thread, other threads:[~2022-11-07  8:39 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:39 [gcc r13-3736] 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).