diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-08-29 18:24:08 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-08-29 18:24:08 +0100 |
commit | 0789600c597ff1f8ac06e84ffb584c853d1675d1 (patch) | |
tree | 1261cce190db2961f9011a96f008a5fbfd55f013 | |
parent | cd0233527af11f678ab9635bfd2a9545d431d48f (diff) | |
download | gcc-0789600c597ff1f8ac06e84ffb584c853d1675d1.zip gcc-0789600c597ff1f8ac06e84ffb584c853d1675d1.tar.gz gcc-0789600c597ff1f8ac06e84ffb584c853d1675d1.tar.bz2 |
libstdc++: Fix deleted overload of __absu(bool)
libstdc++-v3/ChangeLog:
* include/std/numeric (__detail::__absu(bool)): Make deleted
function a function template, so it will be chosen for calls
with an explicit template argument list.
* testsuite/26_numerics/gcd/gcd_neg.cc: Add dg-prune-output.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
-rw-r--r-- | libstdc++-v3/include/std/numeric | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc | 1 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index 8f2ed5c..bd70a52 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -95,7 +95,7 @@ namespace __detail return __val < 0 ? -(_Up)__val : (_Up)__val; } - void __absu(bool) = delete; + template<typename _Up> void __absu(bool) = delete; // GCD implementation template<typename _Tp> diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc index 707148a..2e56bc6 100644 --- a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc @@ -50,4 +50,5 @@ test01() // { dg-error "must be integers" "" { target *-*-* } 135 } // { dg-error "must not be bool" "" { target *-*-* } 136 } // { dg-error "must not be bool" "" { target *-*-* } 137 } +// { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc index d4aa6b5..9e83fdc 100644 --- a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc @@ -50,4 +50,5 @@ test01() // { dg-error "must be integers" "" { target *-*-* } 149 } // { dg-error "must not be bool" "" { target *-*-* } 150 } // { dg-error "must not be bool" "" { target *-*-* } 151 } +// { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } |