The article argues that wrapping by default is the wrong choice, and that C and C++ got it right with UB-on-overflow. GP points out that for unsigned integers, C and C++ got it wrong, too.
The C11 standard agrees that when an integer would overflow, instead it wraps, while carefully avoiding saying that it's overflowing simply to preserve the defined term "Overflow" for the error code. In contexts other than the C11 standard it's fair to say that the integer overflowed, even if the language specifies that it wraps and "can never overflow".
Overflow is an error condition. Unsigned integer addition is defined to wrap around, and does not have this error.
C11 standard says this like:
> A computation involving unsigned operands can never overflow,
> because a result that cannot be represented by the resulting unsigned integer type is
> reduced modulo the number that is one greater than the largest value that can be
> represented by the resulting type.