https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85344
--- Comment #3 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> --- More worrying is that this code compiles without error when it should error out: void foo (void) { __asm( "%0" :: "J" ((unsigned char) 0x80)); }