En primer lugar, tenga en cuenta que C11 3.4.3, como todos los ejemplos y notas al pie, no es un texto normativo y, por lo tanto, no es relevante para citar.
El texto relevante que establece que el desbordamiento de enteros y flotantes es un comportamiento indefinido es el siguiente:
C11 6.5 / 5
Si se produce una condición excepcional durante la evaluación de una expresión (es decir, si el resultado no está matemáticamente definido o no está en el rango de valores representables para su tipo), el comportamiento es indefinido.
Aquí se puede encontrar una aclaración sobre el comportamiento de los tipos enteros sin signo:
C11 6.2.5 / 9
El rango de valores no negativos de un tipo entero con signo es un subrango del tipo entero sin signo correspondiente, y la representación del mismo valor en cada tipo es la misma. Un cálculo que involucra operandos sin signo nunca puede desbordarse, porque un resultado que no puede ser representado por el tipo entero resultante sin signo se reduce módulo el número que es uno mayor que el valor más grande que puede ser representado por el tipo resultante.
Esto hace que los tipos enteros sin signo sean un caso especial.
También tenga en cuenta que hay una excepción si cualquier tipo se convierte en un tipo con signo y el valor anterior ya no se puede representar. El comportamiento se define simplemente por implementación, aunque se puede generar una señal.
C11 6.3.1.3
6.3.1.3 Enteros con y sin signo
Cuando un valor con tipo entero se convierte en otro tipo entero distinto de _Bool, si el valor puede ser representado por el nuevo tipo, no se modifica.
De lo contrario, si el nuevo tipo no tiene signo, el valor se convierte agregando o restando repetidamente uno más que el valor máximo que se puede representar en el nuevo tipo hasta que el valor esté en el rango del nuevo tipo.
De lo contrario, el nuevo tipo se firma y el valor no se puede representar en él; o bien el resultado está definido por la implementación o se genera una señal definida por la implementación.