Another option is to disable the warning locally [...] But this is compiler-specific and noisy. It also does not explain the real issue to anyone reading the code.
I don't understand this logic. Surely disabling the warning is directly explaining the actual issue, that the code emits a false positive warning for specific compilers and conditions? That the false_but_compiler_does_not_know_it_ thing is apparently the better way to convey what's going on seems kind of ridiculous.