Fix missing or incorrect feature test macros
* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2 status. * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms): Define. * include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3 changes are supported. * include/std/optional (__cpp_lib_optional): Likewise. * include/std/variant (__cpp_lib_variant): Likewise. * include/std/version [!__STRICT_ANSI__] (__cpp_lib_uncaught_exceptions): Define as long integer. [__cplusplus >= 201703L] (__cpp_lib_any) (__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions) (__cpp_lib_variant): Define for C++17. [__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define as long integer. * libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long integer. From-SVN: r267936
This commit is contained in:
parent
04fdd1fdec
commit
56a9eaf9ab
8 changed files with 58 additions and 9 deletions
|
@ -1,5 +1,23 @@
|
|||
2019-01-15 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
|
||||
status.
|
||||
* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
|
||||
Define.
|
||||
* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
|
||||
changes are supported.
|
||||
* include/std/optional (__cpp_lib_optional): Likewise.
|
||||
* include/std/variant (__cpp_lib_variant): Likewise.
|
||||
* include/std/version [!__STRICT_ANSI__]
|
||||
(__cpp_lib_uncaught_exceptions): Define as long integer.
|
||||
[__cplusplus >= 201703L] (__cpp_lib_any)
|
||||
(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
|
||||
(__cpp_lib_variant): Define for C++17.
|
||||
[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
|
||||
as long integer.
|
||||
* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
|
||||
integer.
|
||||
|
||||
* doc/xml/manual/status_cxx2020.xml: Update P1123R0 status.
|
||||
|
||||
2019-01-12 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
|
|
@ -787,6 +787,31 @@ Feature-testing recommendations for C++</link>.
|
|||
<code> __cpp_lib_to_chars >= 201611 </code></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry> Homogeneous interface for variant, any and optional </entry>
|
||||
<entry>
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf">
|
||||
P0032R3
|
||||
</link>
|
||||
</entry>
|
||||
<entry align="center"> 7.1 </entry>
|
||||
<entry>
|
||||
<code> __cpp_lib_any >= 201606 </code>,
|
||||
<code> __cpp_lib_optional >= 201606 </code>,
|
||||
<code> __cpp_lib_variant >= 201606 </code>
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry> Making Optional Greater Equal Again </entry>
|
||||
<entry>
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0307r2.pdf">
|
||||
P0307R2
|
||||
</link>
|
||||
</entry>
|
||||
<entry align="center"> 7.1 </entry>
|
||||
<entry> <code> __cpp_lib_optional >= 201606 </code> </entry>
|
||||
</row>
|
||||
|
||||
</tbody>
|
||||
</tgroup>
|
||||
|
|
|
@ -826,7 +826,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
|
||||
#endif
|
||||
|
||||
#if __cplusplus > 201402L
|
||||
#if __cplusplus >= 201703L
|
||||
# define __cpp_lib_raw_memory_algorithms 201606L
|
||||
|
||||
template <typename _ForwardIterator>
|
||||
inline void
|
||||
uninitialized_default_construct(_ForwardIterator __first,
|
||||
|
@ -877,7 +879,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
__count, __result);
|
||||
return {__res.first.base(), __res.second};
|
||||
}
|
||||
#endif
|
||||
#endif // C++17
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
template<typename _Tp, typename _Up, typename _Allocator>
|
||||
|
|
|
@ -66,7 +66,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
#endif
|
||||
}
|
||||
|
||||
#define __cpp_lib_any 201603
|
||||
#define __cpp_lib_any 201606L
|
||||
|
||||
/**
|
||||
* @brief A type-safe container of any type.
|
||||
|
|
|
@ -51,7 +51,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define __cpp_lib_optional 201603
|
||||
#define __cpp_lib_optional 201606L
|
||||
|
||||
template<typename _Tp>
|
||||
class optional;
|
||||
|
|
|
@ -68,7 +68,7 @@ namespace __variant
|
|||
} // namespace __variant
|
||||
} // namespace __detail
|
||||
|
||||
#define __cpp_lib_variant 201603
|
||||
#define __cpp_lib_variant 201606L
|
||||
|
||||
template<typename... _Types> class tuple;
|
||||
template<typename... _Types> class variant;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
// gnu++03
|
||||
# define __cpp_lib_uncaught_exceptions 201411
|
||||
# define __cpp_lib_uncaught_exceptions 201411L
|
||||
#endif
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
|
@ -85,6 +85,7 @@
|
|||
#if __cplusplus >= 201703L
|
||||
// c++17
|
||||
#define __cpp_lib_addressof_constexpr 201603
|
||||
#define __cpp_lib_any 201606L
|
||||
#define __cpp_lib_apply 201603
|
||||
#define __cpp_lib_array_constexpr 201603
|
||||
#define __cpp_lib_as_const 201510
|
||||
|
@ -126,7 +127,8 @@
|
|||
#define __cpp_lib_node_extract 201606
|
||||
#define __cpp_lib_nonmember_container_access 201411
|
||||
#define __cpp_lib_not_fn 201603
|
||||
#define __cpp_lib_optional 201603
|
||||
#define __cpp_lib_optional 201606L
|
||||
#define __cpp_lib_raw_memory_algorithms 201606L
|
||||
#define __cpp_lib_sample 201603
|
||||
#ifdef _GLIBCXX_HAS_GTHREADS
|
||||
# define __cpp_lib_scoped_lock 201703
|
||||
|
@ -135,8 +137,10 @@
|
|||
#define __cpp_lib_shared_ptr_weak_type 201606
|
||||
#define __cpp_lib_string_view 201603
|
||||
#define __cpp_lib_type_trait_variable_templates 201510L
|
||||
#define __cpp_lib_uncaught_exceptions 201411L
|
||||
#define __cpp_lib_unordered_map_insertion 201411
|
||||
#define __cpp_lib_unordered_map_try_emplace 201411
|
||||
#define __cpp_lib_variant 201606L
|
||||
#define __cpp_lib_void_t 201411
|
||||
|
||||
#if __cplusplus > 201703L
|
||||
|
|
|
@ -101,8 +101,8 @@ namespace std
|
|||
_GLIBCXX17_DEPRECATED
|
||||
bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
|
||||
|
||||
#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++17 or gnu++98
|
||||
#define __cpp_lib_uncaught_exceptions 201411
|
||||
#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++98
|
||||
#define __cpp_lib_uncaught_exceptions 201411L
|
||||
/// The number of uncaught exceptions.
|
||||
int uncaught_exceptions() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue