Besides #213, another reason for location offsets is macro expansion during preprocessing.
See https://gitlab.com/sosy-lab/sv-comp/bench-defs/-/merge_requests/537#note_2895465541.
I don't know if we could know about this in CIL or not.
It may be a bug in GCC's cpp, but I couldn't find anything on the GCC issue tracker. Might also be the intended behavior for some reason.