diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2016-11-14 18:22:19 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2016-11-14 18:22:19 +0000 |
| commit | 1c7fe126ee16857243738ebc1dbaea69caffefb1 (patch) | |
| tree | 9ccb4a534b61893d510b4ab870a93892479b92a6 /libcxx/include/numeric | |
| parent | ccf2fa1cb64f8b292cfbe964905c4a802fb6dd87 (diff) | |
| download | bcm5719-llvm-1c7fe126ee16857243738ebc1dbaea69caffefb1.tar.gz bcm5719-llvm-1c7fe126ee16857243738ebc1dbaea69caffefb1.zip | |
Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah
llvm-svn: 286858
Diffstat (limited to 'libcxx/include/numeric')
| -rw-r--r-- | libcxx/include/numeric | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libcxx/include/numeric b/libcxx/include/numeric index 1643d6400d1..e00580854d4 100644 --- a/libcxx/include/numeric +++ b/libcxx/include/numeric @@ -230,6 +230,8 @@ common_type_t<_Tp,_Up> gcd(_Tp __m, _Up __n) { static_assert((is_integral<_Tp>::value && is_integral<_Up>::value), "Arguments to gcd must be integer types"); + static_assert((!is_same<typename remove_cv<_Tp>::type, bool>::value), "First argument to gcd cannot be bool" ); + static_assert((!is_same<typename remove_cv<_Up>::type, bool>::value), "Second argument to gcd cannot be bool" ); using _Rp = common_type_t<_Tp,_Up>; using _Wp = make_unsigned_t<_Rp>; return static_cast<_Rp>(__gcd(static_cast<_Wp>(__abs<_Tp>()(__m)), @@ -242,6 +244,8 @@ common_type_t<_Tp,_Up> lcm(_Tp __m, _Up __n) { static_assert((is_integral<_Tp>::value && is_integral<_Up>::value), "Arguments to lcm must be integer types"); + static_assert((!is_same<typename remove_cv<_Tp>::type, bool>::value), "First argument to lcm cannot be bool" ); + static_assert((!is_same<typename remove_cv<_Up>::type, bool>::value), "Second argument to lcm cannot be bool" ); if (__m == 0 || __n == 0) return 0; |

