POSIX requires all types specified in sys/types.h to have arithmetic type, except for a list of exceptions which does not include timer_t. See:
I suspect this is a mistake in POSIX, since there is no good reason for timer_t to have arithmetic type; it probably should have been on the exception list with other opaque handle types and attribute types. Thus, I've also opened an issue report on the Austin Group tracker:
requesting that timer_t be added to the exceptions.
Until the issue is resolved, I hope this bug report will remain open on the glibc tracker.
The conflict with POSIX was fixed in POSIX, so I consider this bug resolved.