public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression
@ 2021-04-08 10:37 redi at gcc dot gnu.org
  2021-04-08 10:38 ` [Bug c++/99968] " redi at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2021-04-08 10:37 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99968
           Summary: [11 Regression] ICE on remove_const_t<incomplete enum
                    type> in requires-expression
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

template<typename T> struct remove_const { using type = T; };
template<typename T> struct remove_const<const T> { using type = T; };
template<typename T> using remove_const_t = typename remove_const<T>::type;

template<typename T>
constexpr inline bool is_enum_v = __is_enum(T);

template<typename T>
struct is_scoped_enum
{
  static constexpr bool value = false;
};

template<typename T>
requires is_enum_v<T> && requires (remove_const_t<T> t) { t = t; }
struct is_scoped_enum<T>
{
  static constexpr bool value = !requires (T t, int i) { i = t; };
};

template<typename T>
constexpr inline bool is_scoped_enum_v = is_scoped_enum<T>::value;

void f()
{
  enum E { e0 = is_enum_v<E>, e1 = is_scoped_enum_v<E> };
  static_assert( e0 );
  static_assert( ! e1 );
}

Compiled with -std=gnu++20:

e.C: In instantiation of 'struct remove_const<f()::E>':
e.C:3:28:   required by substitution of 'template<class T> using remove_const_t
= typename remove_const::type [with T = f()::E]'
e.C:15:26:   required by substitution of 'template<class T>  requires
(is_enum_v<T>) && requires(typename remove_const<T>::type t) {t = t;} struct
is_scoped_enum<T> [with T = f()::E]'
e.C:22:61:   required from 'constexpr const bool is_scoped_enum_v<f()::E>'
e.C:26:36:   required from here
e.C:1:29: error: enum value type is not 'INTEGER_TYPE' nor convertible to the
enum
    1 | template<typename T> struct remove_const { using type = T; };
      |                             ^~~~~~~~~~~~
 <const_decl 0x7fcf7f625070 e0
    type <boolean_type 0x7fcf7f4c1b28 bool public unsigned type_6 QI
        size <integer_cst 0x7fcf7f4a3fa8 constant 8>
        unit-size <integer_cst 0x7fcf7f4a3fc0 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fcf7f4c1b28 precision:1 min <integer_cst 0x7fcf7f4c4210 0> max <integer_cst
0x7fcf7f4c4240 1>>
    readonly constant VOID e.C:26:12
    align:1 warn_if_not_align:0 context <enumeral_type 0x7fcf7f61cf18 E>
initial <integer_cst 0x7fcf7f4c4240 1> chain <type_decl 0x7fcf7f61f7b8 E>>
 <identifier_node 0x7fcf7f61b900 e0 normal local bindings <(nil)>>
 <enumeral_type 0x7fcf7f61cf18 E type_6 VOID
    align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fcf7f61cf18 precision:0
    values <tree_list 0x7fcf7f61de88
        purpose <identifier_node 0x7fcf7f61b900 e0
            normal local bindings <(nil)>>
        value <const_decl 0x7fcf7f625070 e0 type <boolean_type 0x7fcf7f4c1b28
bool>
            readonly constant VOID e.C:26:12
            align:1 warn_if_not_align:0 context <enumeral_type 0x7fcf7f61cf18
E> initial <integer_cst 0x7fcf7f4c4240 1> chain <type_decl 0x7fcf7f61f7b8 E>>>
context <function_decl 0x7fcf7f608d00 f>
    chain <type_decl 0x7fcf7f61f7b8 E>>
e.C:1:29: internal compiler error: 'verify_type' failed
0x1385d10 verify_type(tree_node const*)
        /home/jwakely/src/gcc/gcc/gcc/tree.c:14926
0xcdd13d gen_type_die_with_usage
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25731
0xcdeaa6 gen_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25962
0xcdf01c modified_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:13727
0xce29f1 add_type_attribute
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:21910
0xcf78da gen_typedef_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25638
0xcf78da gen_typedef_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25572
0xcd9f8a gen_decl_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:26604
0xcdc18d gen_member_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25415
0xcdc18d gen_struct_or_union_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25511
0xcdc18d gen_tagged_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25712
0xcdd42a gen_tagged_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25666
0xcdd42a gen_type_die_with_usage
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25907
0xcdeaa6 gen_type_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:25962
0xcd9a52 gen_decl_die
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:26601
0xcdac53 dwarf2out_decl
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:27156
0xcdb1e1 dwarf2out_type_decl
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:26874
0xcdb1e1 dwarf2out_type_decl
        /home/jwakely/src/gcc/gcc/gcc/dwarf2out.c:26869
0xfc7994 rest_of_type_compilation(tree_node*, int)
        /home/jwakely/src/gcc/gcc/gcc/passes.c:339
0x8fdc63 finish_struct_1(tree_node*)
        /home/jwakely/src/gcc/gcc/gcc/cp/class.c:7548
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

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

* [Bug c++/99968] [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
@ 2021-04-08 10:38 ` redi at gcc dot gnu.org
  2021-04-08 10:58 ` redi at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2021-04-08 10:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |10.2.1
     Ever confirmed|0                           |1
      Known to fail|                            |11.0
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-04-08

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

* [Bug c++/99968] [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
  2021-04-08 10:38 ` [Bug c++/99968] " redi at gcc dot gnu.org
@ 2021-04-08 10:58 ` redi at gcc dot gnu.org
  2021-04-08 11:00 ` [Bug c++/99968] [10/11 " mpolacek at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2021-04-08 10:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The ICE only happens with -g

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

* [Bug c++/99968] [10/11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
  2021-04-08 10:38 ` [Bug c++/99968] " redi at gcc dot gnu.org
  2021-04-08 10:58 ` redi at gcc dot gnu.org
@ 2021-04-08 11:00 ` mpolacek at gcc dot gnu.org
  2021-04-08 11:06 ` [Bug c++/99968] " redi at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2021-04-08 11:00 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
            Summary|[11 Regression] ICE on      |[10/11 Regression] ICE on
                   |remove_const_t<incomplete   |remove_const_t<incomplete
                   |enum type> in               |enum type> in
                   |requires-expression         |requires-expression
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |mpolacek at gcc dot gnu.org
   Target Milestone|---                         |10.4

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r276764.

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-04-08 11:00 ` [Bug c++/99968] [10/11 " mpolacek at gcc dot gnu.org
@ 2021-04-08 11:06 ` redi at gcc dot gnu.org
  2021-04-08 11:09 ` cvs-commit at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2021-04-08 11:06 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10/11 Regression] ICE on   |ICE on
                   |remove_const_t<incomplete   |remove_const_t<incomplete
                   |enum type> in               |enum type> in
                   |requires-expression         |requires-expression
      Known to work|10.2.1                      |
             Blocks|                            |67491
      Known to fail|11.0                        |

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I get an ICE with gcc 8 and 9 and -std=gnu++2a -fconcepts -g -fchecking=1 so
not a regression.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
[Bug 67491] [meta-bug] concepts issues

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-04-08 11:06 ` [Bug c++/99968] " redi at gcc dot gnu.org
@ 2021-04-08 11:09 ` cvs-commit at gcc dot gnu.org
  2021-04-08 11:11 ` mpolacek at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-08 11:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS 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:43ab1dc24abd6fded8d5bf6547f0de6851beb200

commit r11-8039-g43ab1dc24abd6fded8d5bf6547f0de6851beb200
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Apr 8 10:50:57 2021 +0100

    libstdc++: Make std::is_scoped_enum work with incomplete types

    Tim Song pointed out that using __underlying_type is ill-formed for
    incomplete enumeration types, and is_scoped_enum doesn't require a
    complete type. This changes the trait to check for conversion to int
    instead of to the underlying type.

    In order to give the correct result when the trait is used in the
    enumerator-list of an incomplete type the partial specialization for
    enums has an additional check that fails for incomplete types. This
    assumes that an incompelte enumeration type must be an unscoped
    enumeration, and so the primary template (with a std::false_type base
    characteristic) can be used. This isn't necessarily true, but it is not
    currently possible to refer to a scoped enumeration type before its type
    is complete (PR c++/89025).

    It should be possible to use requires(remove_cv_t<_Tp> __t) in the
    partial specialization's assignablility check, but that currently gives
    an ICE (PR c++/99968) so there is an extra partial specialization of
    is_scoped_enum<const _Tp> to handle const types.

    libstdc++-v3/ChangeLog:

            * include/std/type_traits (is_scoped_enum<T>): Constrain partial
            specialization to not match incomplete enum types. Use a
            requires-expression instead of instantiating is_convertible.
            (is_scoped_enum<const T>): Add as workaround for PR c++/99968.
            * testsuite/20_util/is_scoped_enum/value.cc: Check with
            incomplete types and opaque-enum-declarations.

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-04-08 11:09 ` cvs-commit at gcc dot gnu.org
@ 2021-04-08 11:11 ` mpolacek at gcc dot gnu.org
  2021-04-09 13:59 ` ppalka at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2021-04-08 11:11 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=98533

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r241137, actually.

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-04-08 11:11 ` mpolacek at gcc dot gnu.org
@ 2021-04-09 13:59 ` ppalka at gcc dot gnu.org
  2021-04-09 14:01 ` ppalka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ppalka at gcc dot gnu.org @ 2021-04-09 13:59 UTC (permalink / raw)
  To: gcc-bugs

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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced:

template<typename T> using remove_const_t = T;

template<typename T>
struct is_scoped_enum
{
  using type = remove_const_t<T>;
  static constexpr bool value = false;
};

enum E { e0 = __is_enum(E), e1 = is_scoped_enum<E>::value };

99968.C:10:51:   required from here
99968.C:4:8: error: enum value type is not ‘INTEGER_TYPE’ nor convertible to
the enum
    4 | struct is_scoped_enum
      |        ^~~~~~~~~~~~~~                                                   


This one seems to have started with r6-598, the same commit that introduced the
sanity check.

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-04-09 13:59 ` ppalka at gcc dot gnu.org
@ 2021-04-09 14:01 ` ppalka at gcc dot gnu.org
  2021-12-12  6:39 ` pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ppalka at gcc dot gnu.org @ 2021-04-09 14:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Slightly more reduced:

template <class T> struct A {
  using type = T;
  static const bool value = false;
};

enum E { e0 = __is_enum(E), e1 = A<E>::value };


Compiled with -std=c++11 -g

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-04-09 14:01 ` ppalka at gcc dot gnu.org
@ 2021-12-12  6:39 ` pinskia at gcc dot gnu.org
  2021-12-28  4:52 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-12-12  6:39 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2021-10-01 00:00:00         |2021-12-11
   Target Milestone|10.4                        |---
      Known to fail|                            |6.1.0, 7.1.0

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2021-12-12  6:39 ` pinskia at gcc dot gnu.org
@ 2021-12-28  4:52 ` jason at gcc dot gnu.org
  2021-12-28 17:46 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2021-12-28  4:52 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-12-28  4:52 ` jason at gcc dot gnu.org
@ 2021-12-28 17:46 ` cvs-commit at gcc dot gnu.org
  2022-09-01 10:50 ` redi at gcc dot gnu.org
  2022-09-01 14:48 ` cvs-commit at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-12-28 17:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:db25655fa5dd23bba684ec7db628643c19e64d6a

commit r12-6136-gdb25655fa5dd23bba684ec7db628643c19e64d6a
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Dec 27 23:46:13 2021 -0500

    c++: ICE on enum with bool value [PR99968]

    BOOLEAN_TYPE also counts as integral, so verify_type should allow it.

            PR c++/99968

    gcc/ChangeLog:

            * tree.c (verify_type): Allow enumerator with BOOLEAN_TYPE.

    gcc/testsuite/ChangeLog:

            * g++.dg/ext/is_enum2.C: New test.

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2021-12-28 17:46 ` cvs-commit at gcc dot gnu.org
@ 2022-09-01 10:50 ` redi at gcc dot gnu.org
  2022-09-01 14:48 ` cvs-commit at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2022-09-01 10:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Should we close this as fixed since 12.1?

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

* [Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
  2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2022-09-01 10:50 ` redi at gcc dot gnu.org
@ 2022-09-01 14:48 ` cvs-commit at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-09-01 14:48 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from CVS 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:37ff51a98583e63fb9afe83cf9f4351760149028

commit r13-2344-g37ff51a98583e63fb9afe83cf9f4351760149028
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Sep 1 11:52:52 2022 +0100

    libstdc++: Remove FIXME for ICE with remove_cvref_t in requires-expression

    PR c++/99968 is fixed since GCC 12.1 so we can remove the workaround.

    libstdc++-v3/ChangeLog:

            * include/std/type_traits (is_scoped_enum): Remove workaround.

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

end of thread, other threads:[~2022-09-01 14:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08 10:37 [Bug c++/99968] New: [11 Regression] ICE on remove_const_t<incomplete enum type> in requires-expression redi at gcc dot gnu.org
2021-04-08 10:38 ` [Bug c++/99968] " redi at gcc dot gnu.org
2021-04-08 10:58 ` redi at gcc dot gnu.org
2021-04-08 11:00 ` [Bug c++/99968] [10/11 " mpolacek at gcc dot gnu.org
2021-04-08 11:06 ` [Bug c++/99968] " redi at gcc dot gnu.org
2021-04-08 11:09 ` cvs-commit at gcc dot gnu.org
2021-04-08 11:11 ` mpolacek at gcc dot gnu.org
2021-04-09 13:59 ` ppalka at gcc dot gnu.org
2021-04-09 14:01 ` ppalka at gcc dot gnu.org
2021-12-12  6:39 ` pinskia at gcc dot gnu.org
2021-12-28  4:52 ` jason at gcc dot gnu.org
2021-12-28 17:46 ` cvs-commit at gcc dot gnu.org
2022-09-01 10:50 ` redi at gcc dot gnu.org
2022-09-01 14:48 ` cvs-commit 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).