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

--- Comment #5 from Dávid Bolvanský <david.bolvansky at gmail dot com> ---
Let's take the original example with small modification:

int square(int x) { return x*x; }
int add(int x) { return x + x; }
typedef int (*p)(int);
static const p arr[4] = {square, add};
int test(int x) {
    int res = arr[x](1);
    return res;
}

Nothing is expanded/inlined. ICC can do it for "two items in arr" case.

Reply via email to