https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95558
--- Comment #8 from hubicka at kam dot mff.cuni.cz --- > > Do weak aliases fall under some implicit ODR here? > > The whole definition of "weak" is that it entitles you to make a definition > that will be exempt from ODR, where a non-weak definition, if any, replaces > it. I fixed recently bug in pure-const discovery which made us to add attributes to weaks while it should not, so perhaps this bug is gone. For non-inline functions we should handle those as interposable. Concerning warning, I we make difference between may and must warnings. I think this is still useful do be diagnosed for user to consider (perhaps there is a reason why all overwritters has to be weak), so I think we should porduce may form of warning. I will take a look.