https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78035
--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 19 Oct 2016, amonakov at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78035 > > Alexander Monakov <amonakov at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |amonakov at gcc dot gnu.org > > --- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> --- > Note that for external function symbols from the standard library there's an > old DR that clarifies that their addresses may compare equal, since the > library > may be implemented in a language other than C. See point c) in > http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_078.html "Not implemented in C" would apply to any extern function pair as the compiler does not know wheter it's part of a "standard library" (I think restricting the answer to standard library function is misguided). > But that is only for function declarations, I don't know if for object > declarations it's the same or different. Credit goes to Szabolcs Nagy for > pointing me to this DR. Usually it's out of the scope of the C standard but we generally try to honor ELF possibilities.