public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20
@ 2022-02-09 18:25 serpent7776 at gmail dot com
  2022-02-10  1:09 ` [Bug c++/104470] " pinskia at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: serpent7776 at gmail dot com @ 2022-02-09 18:25 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104470
           Summary: internal compiler error: Segmentation fault compiling
                    std::variant with -std=c++20
           Product: gcc
           Version: 10.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: serpent7776 at gmail dot com
  Target Milestone: ---

Created attachment 52396
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52396&action=edit
Preprocessed source

I encountered an internal compiler error while compiling the following code in
c++20 mode (no other flags are needed):

#include <variant>

template <typename T>
struct Foo
{
        T value;
};

template <typename T>
struct Bar
{
        T value;
};

template <typename T>
using V = std::variant<Foo<T>, Bar<T>>;

int main()
{
        V e = Foo("a");
}

When I switch to c++17 mode compiler does not crash.

I tested it on g++ 10.3.0 on FreeBSD 12.3-RELEASE-p1, but I can also reproduce
it on trunk version here https://godbolt.org/z/vn5Ws14Ma

Full error:

# g++10 -std=c++20 ice.ii
In file included from ice.cpp:1:
/usr/local/lib/gcc10/include/c++/variant: In substitution of 'template<class
... _Types> template<class _Tp, class> using __accepted_type =
std::variant<_Types>::__to_type<__accepted_index<_Tp> > [with _Tp = _Tp&&;
<template-parameter-2-2> = typename std::enable_if<std::variant<Foo<T>, Bar<T>
>::__not_self<_Tp&&>, void>::type; _Types = {Foo<T>, Bar<T>}]':
ice.cpp:20:15:   required from here
/usr/local/lib/gcc10/include/c++/variant:1335:36: internal compiler error:
Segmentation fault
 1335 |  using __accepted_type = __to_type<__accepted_index<_Tp>>;
      |                                    ^~~~~~~~~~~~~~~~~~~~
libbacktrace could not find executable to open

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

* [Bug c++/104470] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
@ 2022-02-10  1:09 ` pinskia at gcc dot gnu.org
  2022-02-10  6:02 ` pinskia at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-02-10  1:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>When I switch to c++17 mode compiler does not crash.

yes because C++17 does not support deduction of template arguments of template
alias's while C++20 does. Note clang does not implement that yet.

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

* [Bug c++/104470] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
  2022-02-10  1:09 ` [Bug c++/104470] " pinskia at gcc dot gnu.org
@ 2022-02-10  6:02 ` pinskia at gcc dot gnu.org
  2022-02-10  8:18 ` pinskia at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-02-10  6:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
here is the full backtrace:
In file included from t.cc:2:
/home/apinski/upstream-gcc/include/c++/12.0.1/variant: In substitution of
‘template<class ... _Types> template<class _Tp, class> using __accepted_type =
std::variant<_Types>::__to_type<__accepted_index<_Tp> > [with _Tp = _Tp&&;
<template-parameter-2-2> = typename std::enable_if<std::variant<Foo<T>, Bar<T>
>::__not_self<_Tp&&>, void>::type; _Types = {Foo<T>, Bar<T>}]’:
t.cc:21:15:   required from here
/home/apinski/upstream-gcc/include/c++/12.0.1/variant:1384:43: internal
compiler error: Segmentation fault
 1384 |         using __accepted_type = __to_type<__accepted_index<_Tp>>;
      |                                           ^~~~~~~~~~~~~~~~~~~~
0x11fceef crash_signal
        /home/apinski/src/upstream-gcc-git/gcc/gcc/toplev.cc:322
0xba5a12 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:19883
0xbb95df tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:19316
0xbc306e tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:13423
0xbc3292 tsubst_template_args(tree_node*, tree_node*, int, tree_node*)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:13405
0xbb4a9e tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:15461
0xbc4197 tsubst_decl
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:14815
0xbb3792 instantiate_template_1
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:21470
0xbb4b7f instantiate_template(tree_node*, tree_node*, int)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:21529
0xbb4b7f instantiate_alias_template
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:21567
0xbb4b7f tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:15462
0xbd278e rewrite_tparm_list
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:29006
0xbddce4 alias_ctad_tweaks
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:29484
0xb9e9aa deduction_guides_for
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:29646
0xb9ec34 do_class_deduction
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:29777
0xb9ec34 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/pt.cc:29934
0xa84b86 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/decl.cc:7947
0xb767e4 cp_parser_init_declarator
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/parser.cc:22811
0xb51428 cp_parser_simple_declaration
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/parser.cc:15284
0xb531d0 cp_parser_declaration_statement
        /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/parser.cc:14365
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] 13+ messages in thread

* [Bug c++/104470] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
  2022-02-10  1:09 ` [Bug c++/104470] " pinskia at gcc dot gnu.org
  2022-02-10  6:02 ` pinskia at gcc dot gnu.org
@ 2022-02-10  8:18 ` pinskia at gcc dot gnu.org
  2022-04-22 11:57 ` max.kanold@nu-cost.com
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-02-10  8:18 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-02-10
           Keywords|needs-reduction             |ice-on-invalid-code
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, reduced:
template<typename _Types>
class variant
{
        template<typename _Tp>
                static constexpr int __accepted_index = 0;
        template<int _Np>
                using __to_type = int;
        template<typename _Tp>
                using __accepted_type = __to_type<__accepted_index<_Tp>>;
        template<typename _Tp, typename _Tj = __accepted_type<_Tp>>
                variant(_Tp __t)  { }
};
template <typename T>
struct Foo
{
        T value;
};
template <typename T>
using V = variant<Foo<T>>;
V e = Foo{1};


---- CUT ----
So I think in the end this is invalid code as the compiler cannot deduce
template arguments for V, even though you would think it should.

Note clang does not implement a few C++20 deduction support yet so it rejects
it for a few other reasons (alias deduction).

But MSVC rejects the original code with the following error message (which
seems reasonable):

<source>(21): error C2641: cannot deduce template arguments for 'V'
<source>(21): error C2783: 'std::variant<Foo<T>,Bar<T>> std::variant(_Ty &&)
noexcept(<expr>)': could not deduce template argument for 'T'
C:/data/msvc/14.31.31103-Pre/include\variant(1024): note: see declaration of
'std::variant'
<source>(21): error C2783: 'std::variant<Foo<T>,Bar<T>> std::variant(_Ty &&)
noexcept(<expr>)': could not deduce template argument for 'T'
C:/data/msvc/14.31.31103-Pre/include\variant(1024): note: see declaration of
'std::variant'
<source>(21): error C2780: 'std::variant<Foo<T>,Bar<T>> std::variant(void)
noexcept(<expr>)': expects 0 arguments - 1 provided
C:/data/msvc/14.31.31103-Pre/include\variant(1014): note: see declaration of
'std::variant'
<source>(21): error C2784: 'std::variant<Foo<T>,Bar<T>>
std::variant(std::variant<Foo<T>,Bar<T>>)': could not deduce template argument
for 'std::variant<Foo<T>,Bar<T>>' from 'Foo<const char *>'
C:/data/msvc/14.31.31103-Pre/include\variant(1004): note: see declaration of
'std::variant'
<source>(21): error C2784: 'std::variant<Foo<T>,Bar<T>>
std::variant(std::variant<Foo<T>,Bar<T>>)': could not deduce template argument
for 'std::variant<Foo<T>,Bar<T>>' from 'Foo<const char *>'
C:/data/msvc/14.31.31103-Pre/include\variant(1004): note: see declaration of
'std::variant'

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

* [Bug c++/104470] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (2 preceding siblings ...)
  2022-02-10  8:18 ` pinskia at gcc dot gnu.org
@ 2022-04-22 11:57 ` max.kanold@nu-cost.com
  2022-04-22 15:03 ` mpolacek at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: max.kanold@nu-cost.com @ 2022-04-22 11:57 UTC (permalink / raw)
  To: gcc-bugs

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

Max <max.kanold@nu-cost.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |max.kanold@nu-cost.com

--- Comment #4 from Max <max.kanold@nu-cost.com> ---
Not sure whether it helps, but here is a version of the same ICE without the
struct having a member, see https://godbolt.org/z/4xjbcToxj

================================
#include <variant>

template<typename T>
struct A {};

template<typename T>
using Var = std::variant<A<T>>;

int main() {
    auto var = Var{};
}
================================

Here the compiler can clearly not deduce the type, so this is invalid code.
Adding the type leads to valid code which is compiled as expected.

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

* [Bug c++/104470] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (3 preceding siblings ...)
  2022-04-22 11:57 ` max.kanold@nu-cost.com
@ 2022-04-22 15:03 ` mpolacek at gcc dot gnu.org
  2022-04-22 15:10 ` [Bug c++/104470] [10/11/12 Regression] " mpolacek at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-22 15:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
#c3 started to ICE with r10-5020-g1a291106384cab.

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

* [Bug c++/104470] [10/11/12 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (4 preceding siblings ...)
  2022-04-22 15:03 ` mpolacek at gcc dot gnu.org
@ 2022-04-22 15:10 ` mpolacek at gcc dot gnu.org
  2022-04-26 22:34 ` jason at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-22 15:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|internal compiler error:    |[10/11/12 Regression]
                   |Segmentation fault          |internal compiler error:
                   |compiling std::variant with |Segmentation fault
                   |-std=c++20                  |compiling std::variant with
                   |                            |-std=c++20
           Priority|P3                          |P2
   Target Milestone|---                         |10.4

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

* [Bug c++/104470] [10/11/12 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (5 preceding siblings ...)
  2022-04-22 15:10 ` [Bug c++/104470] [10/11/12 Regression] " mpolacek at gcc dot gnu.org
@ 2022-04-26 22:34 ` jason at gcc dot gnu.org
  2022-04-29 21:25 ` [Bug c++/104470] [10/11/12/13 " cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jason at gcc dot gnu.org @ 2022-04-26 22:34 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

* [Bug c++/104470] [10/11/12/13 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (6 preceding siblings ...)
  2022-04-26 22:34 ` jason at gcc dot gnu.org
@ 2022-04-29 21:25 ` cvs-commit at gcc dot gnu.org
  2022-05-04 21:59 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-29 21:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 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:4259c229b457361a9b5cdec157e058bf0c2c8b77

commit r13-54-g4259c229b457361a9b5cdec157e058bf0c2c8b77
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Apr 27 11:13:24 2022 -0400

    c++: alias CTAD and member alias templates [PR104470]

    In this testcase, we were trying to substitute into
    variant<Foo<T>>::__accepted_type, but failed to look it up because
    variant<Foo<T>> doesn't exist.  In other cases we already rewrite such
    things into a dependent reference; we need to do that for alias templates
as
    well.

    This caused some testsuite regressions on alias uses outside of deduction
    guides, so I've made all of this rewriting conditional on a new tf_dguide
    tsubst flag.

            PR c++/104470

    gcc/cp/ChangeLog:

            * cp-tree.h (enum tsubst_flags): Add tf_dguide.
            * pt.cc (tsubst_aggr_type): Check it.
            (tsubst_baselink, tsubst_copy): Check it.
            (maybe_dependent_member_ref): Check it.
            (instantiate_alias_template): Handle it.
            (build_deduction_guide): Set it.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/explicit11.C: Second example also ill-formed.
            * g++.dg/cpp2a/class-deduction-alias12.C: New test.

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

* [Bug c++/104470] [10/11/12/13 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (7 preceding siblings ...)
  2022-04-29 21:25 ` [Bug c++/104470] [10/11/12/13 " cvs-commit at gcc dot gnu.org
@ 2022-05-04 21:59 ` cvs-commit at gcc dot gnu.org
  2022-05-15 16:29 ` [Bug c++/104470] [10/11/12 " cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-04 21:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 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:a47ab705c2c9f07f08fde499d6be4682efe4b626

commit r13-124-ga47ab705c2c9f07f08fde499d6be4682efe4b626
Author: Jason Merrill <jason@redhat.com>
Date:   Tue Apr 26 18:32:51 2022 -0400

    c++: alias CTAD refactoring [PR104470]

    In my previous PR104470 patch I added yet another place that needs to
handle
    dependent member rewriting for deduction guides; this patches centralizes
    rewriting into maybe_dependent_member_ref.  tsubst_baselink still has its
    own handling because that's simpler than teaching
maybe_dependent_member_ref
    about BASELINKs.

            PR c++/104470

    gcc/cp/ChangeLog:

            * pt.cc (maybe_dependent_member_ref): Handle types.
            (tsubst, tsubst_copy): Use it.
            (tsubst_aggr_type, instantiate_alias_template): Don't handle
            tf_dguide here.

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

* [Bug c++/104470] [10/11/12 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (8 preceding siblings ...)
  2022-05-04 21:59 ` cvs-commit at gcc dot gnu.org
@ 2022-05-15 16:29 ` cvs-commit at gcc dot gnu.org
  2022-06-28 10:48 ` [Bug c++/104470] [10/11 " jakub at gcc dot gnu.org
  2023-07-07 10:42 ` [Bug c++/104470] [11 " rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-15 16:29 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:73b47159d7811cf1d7aaaf78dbdd141161b93ca3

commit r12-8379-g73b47159d7811cf1d7aaaf78dbdd141161b93ca3
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Apr 27 11:13:24 2022 -0400

    c++: alias CTAD and member alias templates [PR104470]

    In this testcase, we were trying to substitute into
    variant<Foo<T>>::__accepted_type, but failed to look it up because
    variant<Foo<T>> doesn't exist.  In other cases we already rewrite such
    things into a dependent reference; we need to do that for alias templates
as
    well.

    This caused some testsuite regressions on alias uses outside of deduction
    guides, so I've made all of this rewriting conditional on a new tf_dguide
    tsubst flag.

            PR c++/104470

    gcc/cp/ChangeLog:

            * cp-tree.h (enum tsubst_flags): Add tf_dguide.
            * pt.cc (tsubst_aggr_type): Check it.
            (tsubst_baselink, tsubst_copy): Check it.
            (maybe_dependent_member_ref): Check it.
            (instantiate_alias_template): Handle it.
            (build_deduction_guide): Set it.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/explicit11.C: Second example also ill-formed.
            * g++.dg/cpp2a/class-deduction-alias12.C: New test.

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

* [Bug c++/104470] [10/11 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (9 preceding siblings ...)
  2022-05-15 16:29 ` [Bug c++/104470] [10/11/12 " cvs-commit at gcc dot gnu.org
@ 2022-06-28 10:48 ` jakub at gcc dot gnu.org
  2023-07-07 10:42 ` [Bug c++/104470] [11 " rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:48 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

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

* [Bug c++/104470] [11 Regression] internal compiler error: Segmentation fault compiling std::variant with -std=c++20
  2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
                   ` (10 preceding siblings ...)
  2022-06-28 10:48 ` [Bug c++/104470] [10/11 " jakub at gcc dot gnu.org
@ 2023-07-07 10:42 ` rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07 10:42 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.5                        |11.5

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10 branch is being closed.

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

end of thread, other threads:[~2023-07-07 10:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-09 18:25 [Bug c++/104470] New: internal compiler error: Segmentation fault compiling std::variant with -std=c++20 serpent7776 at gmail dot com
2022-02-10  1:09 ` [Bug c++/104470] " pinskia at gcc dot gnu.org
2022-02-10  6:02 ` pinskia at gcc dot gnu.org
2022-02-10  8:18 ` pinskia at gcc dot gnu.org
2022-04-22 11:57 ` max.kanold@nu-cost.com
2022-04-22 15:03 ` mpolacek at gcc dot gnu.org
2022-04-22 15:10 ` [Bug c++/104470] [10/11/12 Regression] " mpolacek at gcc dot gnu.org
2022-04-26 22:34 ` jason at gcc dot gnu.org
2022-04-29 21:25 ` [Bug c++/104470] [10/11/12/13 " cvs-commit at gcc dot gnu.org
2022-05-04 21:59 ` cvs-commit at gcc dot gnu.org
2022-05-15 16:29 ` [Bug c++/104470] [10/11/12 " cvs-commit at gcc dot gnu.org
2022-06-28 10:48 ` [Bug c++/104470] [10/11 " jakub at gcc dot gnu.org
2023-07-07 10:42 ` [Bug c++/104470] [11 " rguenth 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).