diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-22 12:24:57 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-22 12:24:57 +0000 |
commit | 7b7ad9c5488c4d997aa7a40467e79a7befddd1d2 (patch) | |
tree | 2c2f2f3cdeb10d78e9d0a86792f53fb95d5c97cd /gcc/ada/a-szbzha.adb | |
parent | 110eae0386ebafdc88a763a03d1c320317eca961 (diff) | |
download | gcc-7b7ad9c5488c4d997aa7a40467e79a7befddd1d2.tar.gz |
2009-06-22 Thomas Quinot <quinot@adacore.com>
* exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
copy).
2009-06-22 Ed Falis <falis@adacore.com>
* sysdep.c: remove include for nfsLib.h and an NFS specific error
message for VxWorks 653 vThreads: not supported by the OS.
* gsocket.h: disable sockets for VxWorks 653 vThreads.
2009-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Add ??? comment for bad use of Style_Check
2009-06-22 Matthew Gingell <gingell@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
a-swuwha.adb: New unit System.String_Hash.
Refactor redundant cut and pasted hash functions with instances of a
new generic hash function.
Implement a new string hashing algorithm which appears in testing to
be move effective than to previous approach.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Reindent correctly vms targets.
Fix setting of TOOLS_TARGET_PAIRS for bare board platforms.
Disable socket support for Vxworks 653 vThreads.
Improve handling of signals on darwin.
(GNATMAKE_OBJS): Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148789 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-szbzha.adb')
-rw-r--r-- | gcc/ada/a-szbzha.adb | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/ada/a-szbzha.adb b/gcc/ada/a-szbzha.adb index 48e2727468d..9ee1e91374e 100644 --- a/gcc/ada/a-szbzha.adb +++ b/gcc/ada/a-szbzha.adb @@ -27,27 +27,15 @@ -- This unit was originally developed by Matthew J Heaney. -- ------------------------------------------------------------------------------ --- Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb) +with System.String_Hash; function Ada.Strings.Wide_Wide_Bounded.Wide_Wide_Hash (Key : Bounded.Bounded_Wide_Wide_String) return Containers.Hash_Type is use Ada.Containers; - - function Rotate_Left - (Value : Hash_Type; - Amount : Natural) return Hash_Type; - pragma Import (Intrinsic, Rotate_Left); - - Tmp : Hash_Type; - + function Hash is new System.String_Hash.Hash + (Wide_Wide_Character, Wide_Wide_String, Hash_Type); begin - Tmp := 0; - for J in 1 .. Bounded.Length (Key) loop - Tmp := Rotate_Left (Tmp, 3) + - Wide_Wide_Character'Pos (Bounded.Element (Key, J)); - end loop; - - return Tmp; + return Hash (Bounded.To_Wide_Wide_String (Key)); end Ada.Strings.Wide_Wide_Bounded.Wide_Wide_Hash; |