aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-06-15 17:41:00 +0200
committerMarc Poulhiès <poulhies@adacore.com>2024-05-13 10:03:27 +0200
commita14dc3e9b0e4300b58f03d9c5ea83758f912e909 (patch)
tree1e4ba9ec08c3e9412f730ec76bb0a3a45bd2eedd /gcc/ada/libgnat
parent105bba84b10625848ca39a26a42deaa1b2783d71 (diff)
downloadgcc-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.adb4
-rw-r--r--gcc/ada/libgnat/g-dirope.adb18
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;