mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-22 16:37:40 +08:00
Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286858 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::gcd(false, 4);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::gcd(2, true);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::gcd<volatile bool, int>(false, 4);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::gcd<int, const bool>(2, true);
|
||||
}
|
@@ -13,7 +13,8 @@
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type, the program is ill-formed.
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
@@ -13,7 +13,8 @@
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> gcd(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type, the program is ill-formed.
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::lcm(false, 4);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::lcm(2, true);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::lcm<volatile bool, int>(false, 4);
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// UNSUPPORTED: c++98, c++03, c++11, c++14
|
||||
// <numeric>
|
||||
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::lcm<int, const bool>(2, true);
|
||||
}
|
@@ -13,7 +13,8 @@
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type, the program is ill-formed.
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
@@ -13,7 +13,8 @@
|
||||
// template<class _M, class _N>
|
||||
// constexpr common_type_t<_M,_N> lcm(_M __m, _N __n)
|
||||
|
||||
// Remarks: If either M or N is not an integer type, the program is ill-formed.
|
||||
// Remarks: If either M or N is not an integer type,
|
||||
// or if either is (a possibly cv-qualified) bool, the program is ill-formed.
|
||||
|
||||
#include <numeric>
|
||||
|
||||
|
Reference in New Issue
Block a user