* [PATCH] PR libstdc++/83830 Define std::has_unique_object_representations_v
@ 2018-01-15 15:02 Jonathan Wakely
0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2018-01-15 15:02 UTC (permalink / raw)
To: libstdc++, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 292 bytes --]
Add this missing C++17 variable template.
PR libstdc++/83830
* include/std/type_traits (has_unique_object_representations_v): Add
variable template.
* testsuite/20_util/has_unique_object_representations/value.cc: Check
variable template.
Tested powerpc64le-linux, committed to trunk.
[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 1975 bytes --]
commit 37f21e406cb84c041adb1537079ced465a79e4be
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Jan 15 13:23:53 2018 +0000
PR libstdc++/83830 Define std::has_unique_object_representations_v
PR libstdc++/83830
* include/std/type_traits (has_unique_object_representations_v): Add
variable template.
* testsuite/20_util/has_unique_object_representations/value.cc: Check
variable template.
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 43ea68e6c6b..711d6c50dd1 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -2903,6 +2903,10 @@ template <typename _From, typename _To>
remove_cv_t<remove_all_extents_t<_Tp>>
)>
{ };
+
+ template<typename _Tp>
+ inline constexpr bool has_unique_object_representations_v
+ = has_unique_object_representations<_Tp>::value;
#endif
#undef _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP
diff --git a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
index c2a5873ee69..7ac97cf0ba4 100644
--- a/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_unique_object_representations/value.cc
@@ -108,3 +108,17 @@ void test01()
static_assert(test_category<has_unique_object_representations,
Aligned[][1]>(false), "");
}
+
+void
+test02()
+{
+ using std::has_unique_object_representations;
+ using std::has_unique_object_representations_v;
+
+ static_assert(has_unique_object_representations_v<int>
+ == has_unique_object_representations<int>::value);
+ static_assert(has_unique_object_representations_v<void>
+ == has_unique_object_representations<void>::value);
+ static_assert(has_unique_object_representations_v<float>
+ == has_unique_object_representations<float>::value);
+}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-01-15 15:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-15 15:02 [PATCH] PR libstdc++/83830 Define std::has_unique_object_representations_v Jonathan Wakely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).