[Bug c++/105996] New: reinterpret_cast in constexpr failure creating a pair with a function pointer of class parent

jdapena at igalia dot com gcc-bugzilla@gcc.gnu.org
Thu Jun 16 08:40:23 GMT 2022


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


More information about the Gcc-bugs mailing list