aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-05-17 10:28:17 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-05-17 10:28:17 +0100
commitc471fb2f94a2d84fef48948699b92bc1c4832fd0 (patch)
treec006a6caa14dca8b417db7789e9281f8e8c050a8
parent32a1aa709502e10e219393dced66255cb971fad9 (diff)
downloadgcc-c471fb2f94a2d84fef48948699b92bc1c4832fd0.zip
gcc-c471fb2f94a2d84fef48948699b92bc1c4832fd0.tar.gz
gcc-c471fb2f94a2d84fef48948699b92bc1c4832fd0.tar.bz2
Fix __invoke_r<void> to be valid in C++11
* include/bits/invoke.h [__cplusplus < 201703L] (__invoke_r<void>): Use _GLIBCXX14_CONSTEXPR because void functions cannot be constexpr in C++11. From-SVN: r271317
-rw-r--r--libstdc++-v3/ChangeLog4
-rw-r--r--libstdc++-v3/include/bits/invoke.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2c119b5..2820b46 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,9 @@
2019-05-17 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/invoke.h [__cplusplus < 201703L] (__invoke_r<void>):
+ Use _GLIBCXX14_CONSTEXPR because void functions cannot be constexpr
+ in C++11.
+
* doc/xml/manual/status_cxx2020.xml: Update P0608R3, P0777R1, and
P1165R1 entries.
* doc/html/*: Regenerate.
diff --git a/libstdc++-v3/include/bits/invoke.h b/libstdc++-v3/include/bits/invoke.h
index 59e22da..b2e9eee 100644
--- a/libstdc++-v3/include/bits/invoke.h
+++ b/libstdc++-v3/include/bits/invoke.h
@@ -144,7 +144,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// INVOKE<R> when R is cv void
template<typename _Res, typename _Callable, typename... _Args>
- constexpr __can_invoke_as_void<_Res, _Callable, _Args...>
+ _GLIBCXX14_CONSTEXPR __can_invoke_as_void<_Res, _Callable, _Args...>
__invoke_r(_Callable&& __fn, _Args&&... __args)
{
using __result = __invoke_result<_Callable, _Args...>;