https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110885
--- Comment #1 from Ling Nguyen <linh.lrd at gmail dot com> --- Consider this program: struct X { static void foo() {} }; struct Y { template<auto func> static void bar() {} }; int main() { Y::bar<X::foo>(); return 0; } If it's compiled using something like: gcc -gsplit-dwarf -fdebug-types-section. the linker will complain: undefined reference to `X::foo()' More details here: https://godbolt.org/z/qnj56e769