https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105996
Bug ID: 105996 Summary: reinterpret_cast in constexpr failure creating a pair with a function pointer of class parent Product: gcc Version: 12.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jdapena at igalia dot com Target Milestone: --- Created attachment 53150 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53150&action=edit Test case When creating an std::pair with a parameter that is a function pointer of the parent class (but declared as function pointer of the same class), libstdc++ implementation will try to forward the pointer, even if it is the same type (see the attached example). This code is valid in Clang and MSVC, and was valid in GCC 5.x-7.x. This has been detected through Chromium development with errors to compile https://chromium.googlesource.com/chromium/src.git/+/refs/tags/105.0.5123.1/pdf/pdf_view_web_plugin.cc#879