https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121110
Bug ID: 121110
Summary: Issue about alias function call under high level
optimization
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: njuwy at smail dot nju.edu.cn
Target Milestone: ---
gcc version:
gcc version 16.0.0 20250704 (experimental) (GCC)
src:
#include <stdio.h>
static void bar_impl(void) { puts("bar_impl called."); }
static void *bar_ifunc(void) { return &bar_impl; }
extern void bar(void) __attribute__((ifunc("bar_ifunc")));
extern __typeof(bar) bar_alias __attribute__((alias("bar")));
int main() {
bar();
bar_alias();
return 0;
}
godbolt URL:
https://godbolt.org/z/1Ydqn39jo
issue:
"bar_impl called." was output twice under -O0 -O1, while only once under -Os
-O2 and -O3. Is this a bug?
https://godbolt.org/z/TdWTdh9vG