This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/71187] declval() can be implemented without requiring a template instantiation


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71187

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Mon Sep 18 11:40:10 2017
New Revision: 252922

URL: https://gcc.gnu.org/viewcvs?rev=252922&root=gcc&view=rev
Log:
PR libstdc++/71187 reimplement declval without add_rvalue_reference

        PR libstdc++/71187
        * include/std/type_traits (__declval): New function to deduce return
        type of declval.
        (__declval_protector::_delegate): Remove.
        (declval): Use __declval instead of add_rvalue_reference and
        __declval_protector::__delegate.
        * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
        lineno.
        * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
        Likewise.
        * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
        Likewise.

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]