aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-08-29 18:24:08 +0100
committerJonathan Wakely <jwakely@redhat.com>2020-08-29 18:24:08 +0100
commit0789600c597ff1f8ac06e84ffb584c853d1675d1 (patch)
tree1261cce190db2961f9011a96f008a5fbfd55f013
parentcd0233527af11f678ab9635bfd2a9545d431d48f (diff)
downloadgcc-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/numeric2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc1
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" }