https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114391

--- Comment #2 from Antony Polukhin <antoshkka at gmail dot com> ---
> Is there something to optimize when foo() cannot be tail-called?

Yes. Just `catch (...) { throw; }`, no more restrictions. I do not even think,
that it should be the outer most EH region:


void foo();
void bar();

void test() {
    try {
        foo();
    } catch (...) {
        throw;
    }
    bar();
}


is fine to optimize to just


void test() {
    foo();
    bar();
}

Reply via email to