https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61043
andysem at mail dot ru changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED |--- --- Comment #10 from andysem at mail dot ru --- (In reply to Andrew Pinski from comment #9) > > I think this testcase is violating C++ ODR. In that > INSTRUCTION_SET::my_simd_func_impl is the same between the TUs. If you had > used an anonymous namespace, it should have worked correctly. If anonymous > namespace does not work, please file a separate bug. INSTRUCTION_SET is defined differently for the two translation units, so we essentially have sse2::my_simd_func_impl and avx::my_simd_func_impl. This does not violate ODR.