OSDN Git Service

2009-11-30 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2009 15:10:58 +0000 (15:10 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2009 15:10:58 +0000 (15:10 +0000)
* g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
g-sha384.ads: Minor reformatting

2009-11-30  Emmanuel Briot  <briot@adacore.com>

* adaint.h (file_attributes): Reduce size of the structure, so that it
is less costly to store in records.
* makeutl.adb:
(Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
call to Find_File, since the former provides caching when appropriate,
which limits the number of system calls in some cases.
* osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
but the file attributes since we also need access to the size of the
ALI file to parse it. This gives an opportunity for saving system calls
on Unix systems.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154817 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/adaint.h
gcc/ada/g-sha224.ads
gcc/ada/g-sha256.ads
gcc/ada/g-sha384.ads
gcc/ada/g-sha512.ads
gcc/ada/makeutl.adb
gcc/ada/osint.ads
gcc/ada/prj.ads
gcc/ada/s-sehamd.adb
gcc/ada/s-sehamd.ads

index 9a3556c..dbb8057 100644 (file)
@@ -1,5 +1,23 @@
 2009-11-30  Robert Dewar  <dewar@adacore.com>
 
+       * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
+       g-sha384.ads: Minor reformatting
+
+2009-11-30  Emmanuel Briot  <briot@adacore.com>
+
+       * adaint.h (file_attributes): Reduce size of the structure, so that it
+       is less costly to store in records.
+       * makeutl.adb:
+       (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
+       call to Find_File, since the former provides caching when appropriate,
+       which limits the number of system calls in some cases.
+       * osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
+       but the file attributes since we also need access to the size of the
+       ALI file to parse it. This gives an opportunity for saving system calls
+       on Unix systems.
+
+2009-11-30  Robert Dewar  <dewar@adacore.com>
+
        * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
 
 2009-11-30  Gary Dismukes  <dismukes@adacore.com>
index 0412ffb..41b6357 100644 (file)
@@ -74,15 +74,15 @@ typedef long OS_Time;
 */
 
 struct file_attributes {
-  short exists;
+  char exists;
 
-  short writable;
-  short readable;
-  short executable;
+  char writable;
+  char readable;
+  char executable;
 
-  short symbolic_link;
-  short regular;
-  short directory;
+  char symbolic_link;
+  char regular;
+  char directory;
 
   OS_Time timestamp;
   long file_length;
index 25c4039..9b93a19 100644 (file)
@@ -31,6 +31,7 @@
 
 with System.Secure_Hashes.SHA2_Common;
 with System.Secure_Hashes.SHA2_32;
+
 package GNAT.SHA224 is new System.Secure_Hashes.H
   (Block_Words    => System.Secure_Hashes.SHA2_Common.Block_Words,
    State_Words    => 8,
index 3588d03..ee8177f 100644 (file)
@@ -31,6 +31,7 @@
 
 with System.Secure_Hashes.SHA2_Common;
 with System.Secure_Hashes.SHA2_32;
+
 package GNAT.SHA256 is new System.Secure_Hashes.H
   (Block_Words    => System.Secure_Hashes.SHA2_Common.Block_Words,
    State_Words    => 8,
index 7971a93..4c1b8b5 100644 (file)
@@ -31,6 +31,7 @@
 
 with System.Secure_Hashes.SHA2_Common;
 with System.Secure_Hashes.SHA2_64;
+
 package GNAT.SHA384 is new System.Secure_Hashes.H
   (Block_Words    => System.Secure_Hashes.SHA2_Common.Block_Words,
    State_Words    => 8,
index 0fc0dde..c8ebd32 100644 (file)
@@ -31,6 +31,7 @@
 
 with System.Secure_Hashes.SHA2_Common;
 with System.Secure_Hashes.SHA2_64;
+
 package GNAT.SHA512 is new System.Secure_Hashes.H
   (Block_Words    => System.Secure_Hashes.SHA2_Common.Block_Words,
    State_Words    => 8,
index 1f64da3..ab00b50 100644 (file)
@@ -272,7 +272,7 @@ package body Makeutl is
                   if not Fname.Is_Internal_File_Name (SD.Sfile)
                     or else
                       (Check_Readonly_Files
-                        and then Find_File (SD.Sfile, Osint.Source) = No_File)
+                        and then Full_Source_Name (SD.Sfile) = No_File)
                   then
                      if Verbose_Mode then
                         Write_Line
index faeaf10..eeba801 100644 (file)
@@ -735,7 +735,7 @@ private
    --  detected, the file being written is deleted, and a fatal error is
    --  signalled.
 
-   File_Attributes_Size : constant Integer := 50;
+   File_Attributes_Size : constant Natural := 24;
    --  This should be big enough to fit a "struct file_attributes" on any
    --  system. It doesn't matter if it is too big (which avoids the need for
    --  either mapping the struct exactly or importing the sizeof from C, which
index 88f1ecd..7fd9791 100644 (file)
@@ -31,6 +31,7 @@
 
 with Casing; use Casing;
 with Namet;  use Namet;
+with Osint;
 with Scans;  use Scans;
 with Types;  use Types;
 
@@ -745,7 +746,7 @@ package Prj is
       Dep_Path : Path_Name_Type := No_Path;
       --  Path name of the real dependency file
 
-      Dep_TS : Time_Stamp_Type := Empty_Time_Stamp;
+      Dep_TS : aliased Osint.File_Attributes := Osint.Unknown_Attributes;
       --  Dependency file time stamp
 
       Switches : File_Name_Type := No_File;
@@ -789,7 +790,7 @@ package Prj is
                        Dep_Name               => No_File,
                        Current_Dep_Path       => No_Path,
                        Dep_Path               => No_Path,
-                       Dep_TS                 => Empty_Time_Stamp,
+                       Dep_TS                 => Osint.Unknown_Attributes,
                        Switches               => No_File,
                        Switches_Path          => No_Path,
                        Switches_TS            => Empty_Time_Stamp,
index 893a172..cc04e6a 100644 (file)
@@ -35,8 +35,8 @@ package body System.Secure_Hashes.MD5 is
 
    use Interfaces;
 
-   --  The sixteen values used to rotate the context words.
-   --  Four for each rounds. Used in procedure Transform.
+   --  The sixteen values used to rotate the context words. Four for each
+   --  rounds. Used in procedure Transform.
 
    --  Round 1
 
@@ -67,8 +67,8 @@ package body System.Secure_Hashes.MD5 is
    S44 : constant := 21;
 
    --  The following functions (F, FF, G, GG, H, HH, I and II) are the
-   --  equivalent of the macros of the same name in the example
-   --  implementation in the annex of RFC 1321.
+   --  equivalent of the macros of the same name in the example C
+   --  implementation in the annex of RFC 1321.
 
    function F (X, Y, Z : Unsigned_32) return Unsigned_32;
    pragma Inline (F);
index 92d913a..206050f 100644 (file)
@@ -46,7 +46,7 @@ package System.Secure_Hashes.MD5 is
             Hash_Bit_Order => System.Low_Order_First);
    --  MD5 operates on 32-bit little endian words
 
-   Block_Words  : constant := 16;
+   Block_Words : constant := 16;
    --  Messages are processed in chunks of 16 words
 
    procedure Transform