[Bug libstdc++/86398] [8/9 Regression] is_trivially_constructible always returns true even when is_constructible returns false
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86398 --- Comment #4 from Jonathan Wakely --- Author: redi Date: Wed Jul 4 11:44:11 2018 New Revision: 262381 URL: https://gcc.gnu.org/viewcvs?rev=262381=gcc=rev Log: PR libstdc++/86398 fix std::is_trivially_constructible regression The intrinsic doesn't check for allowed conversions between scalar types, so restore the std::is_constructible check. Also make some trivial whitespace changes. PR libstdc++/86398 * include/std/type_traits (is_trivially_constructible): Check is_constructible before __is_trivially_constructible. * testsuite/20_util/is_trivially_constructible/value.cc: Add more tests, including negative cases. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use zero for dg-error lineno. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. Modified: branches/gcc-8-branch/libstdc++-v3/ChangeLog branches/gcc-8-branch/libstdc++-v3/include/std/type_traits branches/gcc-8-branch/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc branches/gcc-8-branch/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc branches/gcc-8-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
[Bug libstdc++/86398] [8/9 Regression] is_trivially_constructible always returns true even when is_constructible returns false
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86398 --- Comment #3 from Jonathan Wakely --- Author: redi Date: Wed Jul 4 09:03:18 2018 New Revision: 262379 URL: https://gcc.gnu.org/viewcvs?rev=262379=gcc=rev Log: PR libstdc++/86398 fix std::is_trivially_constructible regression The intrinsic doesn't check for allowed conversions between scalar types, so restore the std::is_constructible check. Also make some trivial whitespace changes. PR libstdc++/86398 * include/std/type_traits (is_trivially_constructible): Check is_constructible before __is_trivially_constructible. * testsuite/20_util/is_trivially_constructible/value.cc: Add more tests, including negative cases. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use zero for dg-error lineno. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/type_traits trunk/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc trunk/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc trunk/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
[Bug libstdc++/86398] [8/9 Regression] is_trivially_constructible always returns true even when is_constructible returns false
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86398 --- Comment #2 from Jonathan Wakely --- (In reply to Arthur O'Dwyer from comment #0) > This actually looks like a duplicate of PR80682, but that one was closed as > "fixed" a while back, and the bug is still present. Definitely not a dup. The testcase for PR 80682 no longer fails, and the testcase for this one didn't fail until the fix for 80682 was committed. So it's caused by it, and so can't possibly be a dup.
[Bug libstdc++/86398] [8/9 Regression] is_trivially_constructible always returns true even when is_constructible returns false
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86398 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-07-04 Component|c++ |libstdc++ Known to work||7.3.0 Target Milestone|--- |8.2 Summary|is_trivially_constructible |[8/9 Regression] |always returns true even|is_trivially_constructible |when is_constructible |always returns true even |returns false |when is_constructible ||returns false Ever confirmed|0 |1 Known to fail||8.1.0, 9.0 --- Comment #1 from Jonathan Wakely --- Presumably started with r248153