The behavior of volatile types in compound expressions that both read and write the same variable (for instance ``a{plus}{plus}`` or ``++a+=2++``, where ``++a++`` is a ``++volatile int++``) is not well defined, and is deprecated since {cpp}20.
Such expressions should be replaced by explicit operations that only read or write the value.