https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91287
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-07-31 Ever confirmed|0 |1 --- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #16) > (In reply to Richard Biener from comment #15) > > Honza probably knows where we output the LTO symtab and why we do not put > > undefs for builtins there. > > #include <math.h> > double y, z; > void foo (); > int main() > { > volatile double x = atan2 (y, z); > foo (); > } > > > gcc-8 -c t.c -flto > > gcc-nm t.o > U foo > 00000000 T main > 00000000 C y > 00000000 C z > > where's the > > U atan2 > > ? For double atan2 (double x, double y) { return x + y; } it doesn't appear either, this CU has an empty symbol table... I do remember quite some "funs" with builtin handling though, so the current handling may be the least bad of all choices...