[llvm-dev] problems with objects larger than PTRDIFF_MAX
David Majnemer via llvm-dev
llvm-dev at lists.llvm.org
Fri May 20 09:58:42 PDT 2016
I've come across this issue before and came to the following conclusion:
- We are not obligated to support objects that large, C11 22.214.171.124/1 only
requires that we support objects of size 65535! Their guidance for maximum
object size is stated to be half of SIZE_MAX in C11 K.3.4/4 which is
typically equivalent to PTRDIFF_MAX.
- The expectation that PTRDIFF_MAX is more or less a proxy for the largest
object size is not uncommon. For example, C++'s std::count doesn't return
a size_t but a iterator_traits<>::difference_type which is going to be a
ptrdiff_t for things like std::vector.
On Fri, May 20, 2016 at 1:31 AM, John Regehr via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> It could be that 32-bit systems are disappearing so rapidly that nobody
> cares too much about this issue, but this blog post is still worth reading:
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev