PR libstdc++/81468 fix test for duration conversions

PR libstdc++/81468
	* testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and
	improve static assertion messages.

From-SVN: r252950
This commit is contained in:
Jonathan Wakely 2017-09-18 21:00:32 +01:00 committed by Jonathan Wakely
parent 05d41b0cb1
commit e1227692dd
2 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2017-09-18 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81468
* testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and
improve static assertion messages.
* include/std/utility (_Itup_cat, _Make_integer_sequence): Remove.
(_Build_index_tuple, make_integer_sequence): Use built-in to generate
pack expansion.

View File

@ -36,6 +36,6 @@ static_assert(is_constructible<duration<int>, duration<long>>{},
static_assert(!is_constructible<duration<int>, duration<int, ratio<2,3>>>{},
"cannot convert duration to one with different period");
static_assert(is_constructible<duration<float>, duration<int, ratio<2,3>>>{},
"unless it has a floating-point representation");
static_assert(is_constructible<duration<float>, duration<int, ratio<1,3>>>{},
"or a period that is an integral multiple of the original");
"... unless the result type has a floating-point representation");
static_assert(is_constructible<duration<int, ratio<1,3>>, duration<int>>{},
"... or the original's period is a multiple of the result's period");