[Bug libstdc++/88802] std::hash not implemented

2019-01-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88802

Jonathan Wakely  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Jonathan Wakely  ---
Fixed for GCC 9.

[Bug libstdc++/88802] std::hash not implemented

2019-01-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88802

--- Comment #3 from Jonathan Wakely  ---
Author: redi
Date: Fri Jan 11 14:54:49 2019
New Revision: 267845

URL: https://gcc.gnu.org/viewcvs?rev=267845&root=gcc&view=rev
Log:
PR libstdc++/88802 define std::hash for C++17

PR libstdc++/88802
* include/bits/functional_hash.h (hash): Define
specialization for C++17 (P0513R0, LWG 2817).
* testsuite/20_util/hash/nullptr.cc: New test.

Added:
trunk/libstdc++-v3/testsuite/20_util/hash/nullptr.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/functional_hash.h

[Bug libstdc++/88802] std::hash not implemented

2019-01-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88802

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-01-11
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
   Target Milestone|--- |9.0
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely  ---
On it ...

[Bug libstdc++/88802] std::hash not implemented

2019-01-11 Thread tom at kera dot name
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88802

--- Comment #1 from Tomalak Geret'kal  ---
[unord.hash]/2
> Each specialization of hash is either enabled or disabled, as described 
> below. [ Note: Enabled specializations meet the Cpp17Hash requirements, and 
> disabled specializations do not. — end note ] Each header that declares the 
> template hash provides enabled specializations of hash for nullptr_­t and all 
> cv-unqualified arithmetic, enumeration, and pointer types. For any type Key 
> for which neither the library nor the user provides an explicit or partial 
> specialization of the class template hash, hash is disabled.

(Clang HEAD does support this, it turns out.)