From: charlet Date: Mon, 30 Nov 2009 15:10:58 +0000 (+0000) Subject: 2009-11-30 Robert Dewar X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=6bcbbc8b8dddea1cba8a9dd29a62a8ed3720366b 2009-11-30 Robert Dewar * 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 * 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 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 9a3556c6afe..dbb8057d971 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,23 @@ 2009-11-30 Robert Dewar + * 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 + + * 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 + * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting. 2009-11-30 Gary Dismukes diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h index 0412ffbf808..41b6357656f 100644 --- a/gcc/ada/adaint.h +++ b/gcc/ada/adaint.h @@ -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; diff --git a/gcc/ada/g-sha224.ads b/gcc/ada/g-sha224.ads index 25c40396bff..9b93a19e4e0 100644 --- a/gcc/ada/g-sha224.ads +++ b/gcc/ada/g-sha224.ads @@ -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, diff --git a/gcc/ada/g-sha256.ads b/gcc/ada/g-sha256.ads index 3588d03abb2..ee8177fa2eb 100644 --- a/gcc/ada/g-sha256.ads +++ b/gcc/ada/g-sha256.ads @@ -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, diff --git a/gcc/ada/g-sha384.ads b/gcc/ada/g-sha384.ads index 7971a93c3fc..4c1b8b5a326 100644 --- a/gcc/ada/g-sha384.ads +++ b/gcc/ada/g-sha384.ads @@ -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, diff --git a/gcc/ada/g-sha512.ads b/gcc/ada/g-sha512.ads index 0fc0dde3f52..c8ebd32f969 100644 --- a/gcc/ada/g-sha512.ads +++ b/gcc/ada/g-sha512.ads @@ -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, diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb index 1f64da3d8c4..ab00b506578 100644 --- a/gcc/ada/makeutl.adb +++ b/gcc/ada/makeutl.adb @@ -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 diff --git a/gcc/ada/osint.ads b/gcc/ada/osint.ads index faeaf109806..eeba80148ae 100644 --- a/gcc/ada/osint.ads +++ b/gcc/ada/osint.ads @@ -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 diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads index 88f1ecd3381..7fd97916ad1 100644 --- a/gcc/ada/prj.ads +++ b/gcc/ada/prj.ads @@ -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, diff --git a/gcc/ada/s-sehamd.adb b/gcc/ada/s-sehamd.adb index 893a172820a..cc04e6a7773 100644 --- a/gcc/ada/s-sehamd.adb +++ b/gcc/ada/s-sehamd.adb @@ -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 - -- C 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); diff --git a/gcc/ada/s-sehamd.ads b/gcc/ada/s-sehamd.ads index 92d913a015c..206050fb0ec 100644 --- a/gcc/ada/s-sehamd.ads +++ b/gcc/ada/s-sehamd.ads @@ -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