https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- My old model of constant expressions for GNU extensions says that the difference of two label addresses is a "label difference constant expression", which is valid as a static initializer by itself but not when added to anything. https://www.polyomino.org.uk/computer/c/const-exprs-gnu.txt