https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105089
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Looks like this is a defect in CTF then? Which should it pick? The more "specific"? What if there are two? static const char a[] = "testme"; void foo () { puts (a); } int main() { extern const char a[]; puts (a); foo (); }