https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61886
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> --- But is warning/error attribute the only thing on aliases that can hold extra semantics info (now or in the future)? I'd say LTO symtab merging should merge what is mergeable, and should leave leave as separate decls with the same asm-name what holds non-mergeable semantics on it. Say, if you declare some function (or different, just with same asm name) with warning attribute in one TU, with error attribute in another TU and without it on another TU, IMHO those three decls shouldn't be merged together, you should note in cgraph that you have aliases that have the same asm name but different semantics and just ensure that you use the right cgraph nodes and decls in the corresponding callers.