static_assert((std::is_same<std::atomic<char32_t>, std::atomic_char32_t>::value), "");
// Added by LWG 2441
- static_assert((std::is_same<std::atomic<intptr_t>, std::atomic_intptr_t>::value), "");
- static_assert((std::is_same<std::atomic<uintptr_t>, std::atomic_uintptr_t>::value), "");
+ static_assert((std::is_same<std::atomic<std::intptr_t>, std::atomic_intptr_t>::value), "");
+ static_assert((std::is_same<std::atomic<std::uintptr_t>, std::atomic_uintptr_t>::value), "");
static_assert((std::is_same<std::atomic<int8_t>, std::atomic_int8_t>::value), "");
static_assert((std::is_same<std::atomic<uint8_t>, std::atomic_uint8_t>::value), "");
static_assert(std::is_same_v<std::atomic<int_fast64_t>, ::atomic_int_fast64_t>);
static_assert(std::is_same_v<std::atomic<uint_fast64_t>, ::atomic_uint_fast64_t>);
- static_assert(std::is_same_v<std::atomic<intptr_t>, ::atomic_intptr_t>);
- static_assert(std::is_same_v<std::atomic<uintptr_t>, ::atomic_uintptr_t>);
+ static_assert(std::is_same_v<std::atomic<std::intptr_t>, ::atomic_intptr_t>);
+ static_assert(std::is_same_v<std::atomic<std::uintptr_t>, ::atomic_uintptr_t>);
static_assert(std::is_same_v<std::atomic<std::size_t>, ::atomic_size_t>);
static_assert(std::is_same_v<std::atomic<std::ptrdiff_t>, ::atomic_ptrdiff_t>);
static_assert(std::is_same_v<std::atomic<intmax_t>, ::atomic_intmax_t>);
test< std::int64_t> ();
test<std::uint64_t> ();
- test<intptr_t> ();
- test<uintptr_t> ();
+ test<std::intptr_t> ();
+ test<std::uintptr_t> ();
test<std::size_t> ();
test<std::ptrdiff_t> ();
test<intmax_t> ();
void compile_generator() {
supported_simd128_ctor<int>(identity());
not_supported_simd128_ctor<int>([](int i) { return float(i); });
- not_supported_simd128_ctor<int>([](intptr_t i) { return (int*)(i); });
+ not_supported_simd128_ctor<int>([](std::intptr_t i) { return (int*)(i); });
not_supported_simd128_ctor<int>([](int* i) { return i; });
}
static_assert(toobig<std::uint64_t>(), ""); // expected-error-re {{{{(static_assert|static assertion)}} expression is not an integral constant expression}}
static_assert(toobig<std::size_t>(), ""); // expected-error-re {{{{(static_assert|static assertion)}} expression is not an integral constant expression}}
static_assert(toobig<uintmax_t>(), ""); // expected-error-re {{{{(static_assert|static assertion)}} expression is not an integral constant expression}}
- static_assert(toobig<uintptr_t>(), ""); // expected-error-re {{{{(static_assert|static assertion)}} expression is not an integral constant expression}}
+ static_assert(toobig<std::uintptr_t>(), ""); // expected-error-re {{{{(static_assert|static assertion)}} expression is not an integral constant expression}}
return 0;
}
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
static_assert(!std::is_invocable_v<L, std::int32_t>);
static_assert(!std::is_invocable_v<L, std::int64_t>);
static_assert(!std::is_invocable_v<L, intmax_t>);
- static_assert(!std::is_invocable_v<L, intptr_t>);
+ static_assert(!std::is_invocable_v<L, std::intptr_t>);
static_assert(!std::is_invocable_v<L, std::ptrdiff_t>);
static_assert(!std::is_invocable_v<L, bool>);
static_assert(test<std::uint32_t>());
static_assert(test<std::uint64_t>());
static_assert(test<uintmax_t>());
- static_assert(test<uintptr_t>());
+ static_assert(test<std::uintptr_t>());
static_assert(test<std::size_t>());
test<unsigned char>();
test<std::uint32_t>();
test<std::uint64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
test<std::size_t>();
return 0;
struct ConvertibleIter : IterBase<ConvertibleIter<Const>> {
using iterator_category = std::random_access_iterator_tag;
using value_type = std::tuple<int>;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
bool movedFromOtherConst = false;
int i = 0;
std::tuple<int>* it_;
using value_type = std::tuple<int>;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
using iterator_concept = std::input_iterator_tag;
constexpr decltype(auto) operator*() const { return *it_; }
struct IterBase {
using iterator_concept = std::random_access_iterator_tag;
using value_type = std::tuple<int>;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
constexpr std::tuple<int> operator*() const { return std::tuple<int>(5); }
struct ForwardIterBase {
using iterator_concept = std::forward_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
constexpr int operator*() const { return 5; }
int* it_;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
using iterator_concept = std::input_iterator_tag;
constexpr decltype(auto) operator*() const { return *it_; }
assert(&y1 == &(b[3]));
using Iter = decltype(it1);
- static_assert(canPlusEqual<Iter, intptr_t>);
+ static_assert(canPlusEqual<Iter, std::intptr_t>);
}
{
assert(&y1 == &(b[2]));
using Iter = decltype(it1);
- static_assert(canMinusEqual<Iter, intptr_t>);
+ static_assert(canMinusEqual<Iter, std::intptr_t>);
}
{
// One of the ranges is not random access
std::ranges::zip_view v(a, b, ForwardSizedView{buffer1});
using Iter = decltype(v.begin());
- static_assert(!std::invocable<std::plus<>, Iter, intptr_t>);
- static_assert(!std::invocable<std::plus<>, intptr_t, Iter>);
- static_assert(!canPlusEqual<Iter, intptr_t>);
- static_assert(!std::invocable<std::minus<>, Iter, intptr_t>);
+ static_assert(!std::invocable<std::plus<>, Iter, std::intptr_t>);
+ static_assert(!std::invocable<std::plus<>, std::intptr_t, Iter>);
+ static_assert(!canPlusEqual<Iter, std::intptr_t>);
+ static_assert(!std::invocable<std::minus<>, Iter, std::intptr_t>);
static_assert(std::invocable<std::minus<>, Iter, Iter>);
- static_assert(!canMinusEqual<Iter, intptr_t>);
+ static_assert(!canMinusEqual<Iter, std::intptr_t>);
}
{
using iterator_category = std::random_access_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
constexpr int& operator*() const { return *it_; }
constexpr int& operator[](difference_type n) const { return it_[n]; }
using iterator_category = std::random_access_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
constexpr int operator*() const { return i; }
{
// difference_type of single view
- std::ranges::zip_view v{DiffTypeRange<intptr_t>{}};
+ std::ranges::zip_view v{DiffTypeRange<std::intptr_t>{}};
using Iter = decltype(v.begin());
- static_assert(std::is_same_v<Iter::difference_type, intptr_t>);
+ static_assert(std::is_same_v<Iter::difference_type, std::intptr_t>);
}
{
// difference_type of multiple views should be the common type
- std::ranges::zip_view v{DiffTypeRange<intptr_t>{}, DiffTypeRange<std::ptrdiff_t>{}};
+ std::ranges::zip_view v{DiffTypeRange<std::intptr_t>{}, DiffTypeRange<std::ptrdiff_t>{}};
using Iter = decltype(v.begin());
- static_assert(std::is_same_v<Iter::difference_type, std::common_type_t<intptr_t, std::ptrdiff_t>>);
+ static_assert(std::is_same_v<Iter::difference_type, std::common_type_t<std::intptr_t, std::ptrdiff_t>>);
}
const std::array foos{Foo{}};
using iterator_category = std::forward_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
convertible_forward_sized_iterator() = default;
constexpr convertible_forward_sized_iterator(Base it) : it_(it) {}
using iterator_category = std::forward_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
using pointer = Base;
using reference = decltype(*Base{});
using iterator_category = std::input_iterator_tag;
using value_type = int;
- using difference_type = intptr_t;
+ using difference_type = std::intptr_t;
constexpr int operator*() const { return i; }
buffer[0] = CharT('0');
buffer[1] = CharT('x');
expected.append(buffer.begin(),
- std::to_chars(buffer.begin() + 2, buffer.end(), reinterpret_cast<uintptr_t>(arg), 16).ptr);
+ std::to_chars(buffer.begin() + 2, buffer.end(), reinterpret_cast<std::uintptr_t>(arg), 16).ptr);
}
assert(result == expected);
}
test<std::int_least64_t>();
test<intmax_t>();
- test<intptr_t>();
+ test<std::intptr_t>();
test<std::uint8_t>();
test<std::uint16_t>();
test<std::uint_least64_t>();
test<uintmax_t>();
- test<uintptr_t>();
+ test<std::uintptr_t>();
#ifndef TEST_HAS_NO_INT128
test<__int128_t>();
{
std::pair<A*, std::ptrdiff_t> ip = std::get_temporary_buffer<A>(5);
assert(!(ip.first == nullptr) ^ (ip.second == 0));
- assert(reinterpret_cast<uintptr_t>(ip.first) % alignof(A) == 0);
+ assert(reinterpret_cast<std::uintptr_t>(ip.first) % alignof(A) == 0);
std::return_temporary_buffer(ip.first);
return 0;
};
void test_aligned(void* p, std::size_t align) {
- assert(reinterpret_cast<uintptr_t>(p) % align == 0);
+ assert(reinterpret_cast<std::uintptr_t>(p) % align == 0);
}
int main(int, char**) {
{
test_alignment_of<int&, 4>();
test_alignment_of<Class, 1>();
- test_alignment_of<int*, sizeof(intptr_t)>();
- test_alignment_of<const int*, sizeof(intptr_t)>();
+ test_alignment_of<int*, sizeof(std::intptr_t)>();
+ test_alignment_of<const int*, sizeof(std::intptr_t)>();
test_alignment_of<char[3], 1>();
test_alignment_of<int, 4>();
test_alignment_of<double, TEST_ALIGNOF(double)>();