https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |13.2
     Ever confirmed|0                           |1
            Summary|Regression where `int()     |[13/14 Regression]
                   |const` is considered        |is_convertible<int() const,
                   |convertible to `int(*)()`.  |int(*)()> incorrectly true
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-04-29
           Keywords|accepts-invalid             |

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The difference is how is_convertible is defined ...
In GCC 13 it is using the newly created builtin __is_convertible.
If we use the original preprocessed source from gcc 12 with GCC 13 (with one
minor change renaming __is_nothrow_convertible to __is_nothrow_convertible1),
GCC 13 works correctly.

Reply via email to