https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98163
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- and without the checking one gets an assembler error: $ g++ pr98163.C -c -std=c++17 -pedantic-errors /tmp/cclBTXg2.s: Assembler messages: /tmp/cclBTXg2.s:70: Error: symbol `_Z3fooI1SIL_Z3arrEEEvT_' is already defined so the checking really makes sense.