This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [patch] fix libstdc++/57336
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 21 May 2013 10:19:44 +0200
- Subject: Re: [patch] fix libstdc++/57336
- References: <CAH6eHdSmvVwgtpFcoU+faEKy=Eb8G_ea4Yy2RYz1pG2tEh6Tog at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, May 21, 2013 at 09:18:15AM +0100, Jonathan Wakely wrote:
> This broke due to some front end changes that disallow forming
> function types that return abstract types. std::reference_wrapper
> always passes an lvalue reference to __invoke so it's correct to use
> an lvalue reference as the result_of's template argument.
>
> PR libstdc++/57336
> * include/std/functional (__invoke): Do not form function types with
> abstract return type.
> * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
>
> Tested x86_64-linux, committed to trunk.
>
> Jakub, this is a regression against 4.8.0, should it go on the branch too?
> The change is small and isolated to code used by std::reference_wrapper.
Ok.
Jakub