http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58391
--- Comment #2 from semicontinuity at yandex dot ru --- Currently, the logic is that if the function contains computed goto, it cannot be inlined. My suggestion is to inline the function if - it is static and used only once in the compilation unit AND the address variable is static inside that function: static void test(void) { static void* address = &&L0; goto *address; L0: ... ... L1: ... } In this case, the variable cannot be modified from outside. Can this bug be re-opened?