[libcxx-commits] [PATCH] D59607: libc++/win: Make once_flag have the same size as a pointer
Nico Weber via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 20 11:31:37 PDT 2019
thakis created this revision.
thakis added a reviewer: EricWF.
Herald added subscribers: jfb, christof.
`unsigned long` is 32-bit on 32-bit systems and 64-bit on 64-bit systems
on LP64 systems -- which most Unix systems are, but Windows isn't.
Windows is LLP64, which means unsigned long is 32-bit even on 64-bit
static_assert(alignof(void *) == alignof(::std::once_flag), ...)
which fails due to this problem.
Instead of unsigned long, use uintptr_t, which consistently is 32-bit
on 32-bit systems and 64-bit on 64-bit systems.
No functional change except on 64-bit Windows.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3449 bytes
Desc: not available
More information about the libcxx-commits