[Bug libstdc++/60333] type_traits make_signed, make_unsigned missing support for long long enumerations

2015-04-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60333

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Tue Apr 28 13:21:54 2015
New Revision: 222526

URL: https://gcc.gnu.org/viewcvs?rev=222526root=gccview=rev
Log:
PR libstdc++/60333
* include/std/type_traits (__make_unsigned_selector_Tp, false, true):
Handle enumeration types larger than sizeof(long).
(__make_signed_selector_Tp, false, true): Find unsigned type then
make it signed.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.

Added:
trunk/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc
   
trunk/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/type_traits
trunk/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
   
trunk/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
   
trunk/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc


[Bug libstdc++/60333] type_traits make_signed, make_unsigned missing support for long long enumerations

2015-04-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60333

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
Fixed on trunk


[Bug libstdc++/60333] type_traits make_signed, make_unsigned missing support for long long enumerations

2015-04-08 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60333

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
Created attachment 35262
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35262action=edit
Fix make_signed / make_unsigned for enumeration types

This patch handles enumeration types larger than long and preserves
cv-qualifiers (which is currently not done).

I'll check this in after the 5.1 release.


[Bug libstdc++/60333] type_traits make_signed, make_unsigned missing support for long long enumerations

2014-09-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60333

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-09-19
 Ever confirmed|0   |1