https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107255
Jiang An <de34 at live dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |de34 at live dot cn --- Comment #1 from Jiang An <de34 at live dot cn> --- I think two declarations are functionally-equivalent but not equivalent. So the program is ill-formed, no diagnostic required. IIUC gcc is just doing the right thing (at least something nice to have) here. The current normative wording in [dcl.fct] seems defective. See also following editorial issues. https://github.com/cplusplus/draft/issues/5495 https://github.com/cplusplus/draft/issues/4121