diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-06-15 17:41:00 +0200 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2024-05-13 10:03:27 +0200 |
commit | a14dc3e9b0e4300b58f03d9c5ea83758f912e909 (patch) | |
tree | 1e4ba9ec08c3e9412f730ec76bb0a3a45bd2eedd /gcc/ada/libgnat | |
parent | 105bba84b10625848ca39a26a42deaa1b2783d71 (diff) | |
download | gcc-a14dc3e9b0e4300b58f03d9c5ea83758f912e909.zip gcc-a14dc3e9b0e4300b58f03d9c5ea83758f912e909.tar.gz gcc-a14dc3e9b0e4300b58f03d9c5ea83758f912e909.tar.bz2 |
ada: Simplify uses of readdir_gnat with object overlay
Code cleanup; behavior is unaffected.
gcc/ada/
* libgnat/a-direct.adb (Start_Search_Internal): Combine subtype
and object declaration.
* libgnat/g-dirope.adb (Read): Replace convoluted unchecked
conversion with an overlay.
Diffstat (limited to 'gcc/ada/libgnat')
-rw-r--r-- | gcc/ada/libgnat/a-direct.adb | 4 | ||||
-rw-r--r-- | gcc/ada/libgnat/g-dirope.adb | 18 |
2 files changed, 5 insertions, 17 deletions
diff --git a/gcc/ada/libgnat/a-direct.adb b/gcc/ada/libgnat/a-direct.adb index 9e399c1..32e020c 100644 --- a/gcc/ada/libgnat/a-direct.adb +++ b/gcc/ada/libgnat/a-direct.adb @@ -1367,9 +1367,7 @@ package body Ada.Directories is -- the Filter add it to our search vector. declare - subtype File_Name_String is String (1 .. File_Name_Len); - - File_Name : constant File_Name_String + File_Name : constant String (1 .. File_Name_Len) with Import, Address => File_Name_Addr; begin diff --git a/gcc/ada/libgnat/g-dirope.adb b/gcc/ada/libgnat/g-dirope.adb index 428d27d..d8ac0ec 100644 --- a/gcc/ada/libgnat/g-dirope.adb +++ b/gcc/ada/libgnat/g-dirope.adb @@ -34,7 +34,6 @@ with Ada.Characters.Handling; with Ada.Strings.Fixed; with Ada.Unchecked_Deallocation; -with Ada.Unchecked_Conversion; with System; use System; with System.CRTL; use System.CRTL; @@ -677,24 +676,15 @@ package body GNAT.Directory_Operations is end if; declare - subtype Path_String is String (1 .. Filename_Len); - type Path_String_Access is not null access constant Path_String; - - function Address_To_Access is new - Ada.Unchecked_Conversion - (Source => Address, - Target => Path_String_Access); - - Path_Access : constant Path_String_Access := - Address_To_Access (Filename_Addr); - + Filename : constant String (1 .. Filename_Len) + with Import, Address => Filename_Addr; begin if Str'Length > Filename_Len then Last := Str'First + Filename_Len - 1; - Str (Str'First .. Last) := Path_Access.all; + Str (Str'First .. Last) := Filename; else Last := Str'Last; - Str := Path_Access (1 .. Str'Length); + Str := Filename (1 .. Str'Length); end if; end; end Read; |