public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in
@ 2024-01-05 11:51 redi at gcc dot gnu.org
  2024-01-05 11:51 ` [Bug libstdc++/113241] " redi at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-05 11:51 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113241
           Summary: [13/14 Regression] Unguarded use of __is_convertible
                    built-in
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

In r13-2883-gaf85ad891703db I made this change in <type_traits>:

 template <typename _Base, typename _Derived>
   inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived);
 template <typename _From, typename _To>
-  inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
+  inline constexpr bool is_convertible_v = __is_convertible(_From, _To);
 template<typename _Fn, typename... _Args>
   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
 template<typename _Fn, typename... _Args>


However, that should be guarded by a __has_builtin check, so that it doesn't
break older compilers using GCC 13 headers, e.g. Intel icc 2021.8.0 and later
on Compiler Explorer, e.g. https://gcc.godbolt.org/z/jWEfEz6bq

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/113241] [13/14 Regression] Unguarded use of __is_convertible built-in
  2024-01-05 11:51 [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in redi at gcc dot gnu.org
@ 2024-01-05 11:51 ` redi at gcc dot gnu.org
  2024-01-05 14:27 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-05 11:51 UTC (permalink / raw)
  To: gcc-bugs

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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |13.3
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2024-01-05
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |redi at gcc dot gnu.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/113241] [13/14 Regression] Unguarded use of __is_convertible built-in
  2024-01-05 11:51 [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in redi at gcc dot gnu.org
  2024-01-05 11:51 ` [Bug libstdc++/113241] " redi at gcc dot gnu.org
@ 2024-01-05 14:27 ` cvs-commit at gcc dot gnu.org
  2024-01-06 13:40 ` cvs-commit at gcc dot gnu.org
  2024-01-06 15:23 ` redi at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-05 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:

https://gcc.gnu.org/g:57fa5b60bbbf8038b8a699d2bcebd2a9b2e29aa4

commit r14-6958-g57fa5b60bbbf8038b8a699d2bcebd2a9b2e29aa4
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jan 5 12:03:22 2024 +0000

    libstdc++: Do not use __is_convertible unconditionally [PR113241]

    The new __is_convertible built-in should only be used after checking
    that it's supported.

    libstdc++-v3/ChangeLog:

            PR libstdc++/113241
            * include/std/type_traits (is_convertible_v): Guard use of
            built-in with preprocessor check.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/113241] [13/14 Regression] Unguarded use of __is_convertible built-in
  2024-01-05 11:51 [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in redi at gcc dot gnu.org
  2024-01-05 11:51 ` [Bug libstdc++/113241] " redi at gcc dot gnu.org
  2024-01-05 14:27 ` cvs-commit at gcc dot gnu.org
@ 2024-01-06 13:40 ` cvs-commit at gcc dot gnu.org
  2024-01-06 15:23 ` redi at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-06 13:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:4c66513656775d551db36b53c253cf236f0eeba8

commit r13-8194-g4c66513656775d551db36b53c253cf236f0eeba8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jan 5 12:03:22 2024 +0000

    libstdc++: Do not use __is_convertible unconditionally [PR113241]

    The new __is_convertible built-in should only be used after checking
    that it's supported.

    libstdc++-v3/ChangeLog:

            PR libstdc++/113241
            * include/std/type_traits (is_convertible_v): Guard use of
            built-in with preprocessor check.

    (cherry picked from commit 57fa5b60bbbf8038b8a699d2bcebd2a9b2e29aa4)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/113241] [13/14 Regression] Unguarded use of __is_convertible built-in
  2024-01-05 11:51 [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in redi at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-06 13:40 ` cvs-commit at gcc dot gnu.org
@ 2024-01-06 15:23 ` redi at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-06 15:23 UTC (permalink / raw)
  To: gcc-bugs

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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed for 13.3

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-06 15:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-05 11:51 [Bug libstdc++/113241] New: [13/14 Regression] Unguarded use of __is_convertible built-in redi at gcc dot gnu.org
2024-01-05 11:51 ` [Bug libstdc++/113241] " redi at gcc dot gnu.org
2024-01-05 14:27 ` cvs-commit at gcc dot gnu.org
2024-01-06 13:40 ` cvs-commit at gcc dot gnu.org
2024-01-06 15:23 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).