public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/104107] New: parsing crashes on class template instantiation
@ 2022-01-19  0:01 gzoumix at hotmail dot com
  2022-01-19  0:14 ` [Bug c++/104107] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: gzoumix at hotmail dot com @ 2022-01-19  0:01 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104107
           Summary: parsing crashes on class template instantiation
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gzoumix at hotmail dot com
  Target Milestone: ---

The following code makes the g++ parser crash on all versions of gcc on
wandbox.org, in C++17 and up. I also have the issue on my ubuntu 21.10 with gcc
11.2.0.

g++ --version:

g++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


code:

template<int targ_id, typename t_parameter, template<typename T, const T&>
typename tt_w_data>
struct tt_main {
  static t_parameter m_parameter;
  template<template<typename T, const T&> typename t_data> using t_make =
t_data<t_parameter, m_parameter>;
  using t_data = t_make<tt_w_data>;
};

template<int targ_id, typename t_parameter, template<typename T, const T&>
typename tt_w_data>
t_parameter tt_main<targ_id, t_parameter, tt_w_data>::m_parameter;

template<typename T, const T&> struct P {};
struct t_parameter {};

using toto = tt_main<0, t_parameter, P>;

int main() {
  toto t;
  return 0;
}

command line: g++ -v -save-temps -Wall -Wextra -std=c++17 prog.cc

error message:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-7ubuntu2'
--with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-11
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib
--enable-libphobos-checking=release --with-target-system-zlib=auto
--enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet
--with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-ZPT0kp/gcc-11-11.2.0/debian/tmp-gcn/usr
--without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-std=c++17'
'-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
 /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -E -quiet -v -imultiarch
x86_64-linux-gnu -D_GNU_SOURCE prog.cc -mtune=generic -march=x86-64 -std=c++17
-Wall -Wextra -fpch-preprocess -fasynchronous-unwind-tables
-fstack-protector-strong -Wformat-security -fstack-clash-protection
-fcf-protection -o a-prog.ii
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/11
 /usr/include/x86_64-linux-gnu/c++/11
 /usr/include/c++/11/backward
 /usr/lib/gcc/x86_64-linux-gnu/11/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-std=c++17'
'-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'a-'
 /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -fpreprocessed a-prog.ii -quiet
-dumpdir a- -dumpbase prog.cc -dumpbase-ext .cc -mtune=generic -march=x86-64
-Wall -Wextra -std=c++17 -version -fasynchronous-unwind-tables
-fstack-protector-strong -Wformat-security -fstack-clash-protection
-fcf-protection -o a-prog.s
GNU C++17 (Ubuntu 11.2.0-7ubuntu2) version 11.2.0 (x86_64-linux-gnu)
        compiled by GNU C version 11.2.0, GMP version 6.2.1, MPFR version
4.1.0, MPC version 1.2.0, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++17 (Ubuntu 11.2.0-7ubuntu2) version 11.2.0 (x86_64-linux-gnu)
        compiled by GNU C version 11.2.0, GMP version 6.2.1, MPFR version
4.1.0, MPC version 1.2.0, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b2aa013a9bb78f98e29ce58cd37c6337
prog.cc: In instantiation of ‘struct tt_main<0, t_parameter, P>’:
prog.cc:17:8:   required from here
prog.cc:5:9: internal compiler error: in tsubst, at cp/pt.c:15632
    5 |   using t_data = t_make<tt_w_data>;
      |         ^~~~~~
0x6fda34 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:15632
0x10a2bc8 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:15519
0x109aeef convert_template_argument
        ../../src/gcc/cp/pt.c:8522
0x109810f coerce_template_parms
        ../../src/gcc/cp/pt.c:9021
0x124bb50 coerce_template_template_parms
        ../../src/gcc/cp/pt.c:8001
0x109adbd convert_template_argument
        ../../src/gcc/cp/pt.c:8449
0x109810f coerce_template_parms
        ../../src/gcc/cp/pt.c:9021
0x10975de coerce_innermost_template_parms(tree_node*, tree_node*, tree_node*,
int, bool, bool) [clone .constprop.0]
        ../../src/gcc/cp/pt.c:9153
0x10a35f3 instantiate_alias_template
        ../../src/gcc/cp/pt.c:21237
0x10a35f3 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:15473
0x116aeef tsubst_decl
        ../../src/gcc/cp/pt.c:14831
0x1166064 instantiate_class_template_1
        ../../src/gcc/cp/pt.c:12030
0xf45996 instantiate_class_template(tree_node*)
        ../../src/gcc/cp/pt.c:12272
0xf45996 complete_type(tree_node*)
        ../../src/gcc/cp/typeck.c:143
0xf45996 complete_type(tree_node*)
        ../../src/gcc/cp/typeck.c:111
0xfe4f5a start_decl_1(tree_node*, bool)
        ../../src/gcc/cp/decl.c:5644
0xfc32c8 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
        ../../src/gcc/cp/decl.c:5610
0xfa79a0 cp_parser_init_declarator
        ../../src/gcc/cp/parser.c:21763
0xf9fea9 cp_parser_simple_declaration
        ../../src/gcc/cp/parser.c:14467
0x1033d54 cp_parser_declaration_statement
        ../../src/gcc/cp/parser.c:13602
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.

Thank you

PS: when I remove the 'int targ_id' template argument, or when I inline the
application of the 'tt_main::t_make' template in the definition of
'tt_main::t_data', the parsing error disappears.

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
@ 2022-01-19  0:14 ` pinskia at gcc dot gnu.org
  2022-01-19  0:30 ` pinskia at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-01-19  0:14 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |needs-bisection
      Known to fail|                            |9.1.0
      Known to work|                            |8.1.0, 8.5.0
            Summary|parsing crashes on class    |[9/10/11/12 Regression]
                   |template instantiation      |parsing crashes on class
                   |                            |template instantiation
   Target Milestone|---                         |9.5

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
  2022-01-19  0:14 ` [Bug c++/104107] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
@ 2022-01-19  0:30 ` pinskia at gcc dot gnu.org
  2022-01-19  0:31 ` pinskia at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-01-19  0:30 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-01-19
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, reduced testcase:
template<int targ_id, typename t_parameter,
         template<typename T, T&> typename tt_w_data>
struct tt_main {
  static t_parameter m_parameter;
  template<template<typename T, T&> typename t_data> using t_make
     = t_data<int, m_parameter>;
  using t_data = t_make<tt_w_data>;
};
template<typename T, T&> struct P {};
tt_main<0, int, P> a;

---- CUT ----
I don't know why if I remove the unused template argument targ_id, it works.

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
  2022-01-19  0:14 ` [Bug c++/104107] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
  2022-01-19  0:30 ` pinskia at gcc dot gnu.org
@ 2022-01-19  0:31 ` pinskia at gcc dot gnu.org
  2022-01-19 10:57 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-01-19  0:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Also note I found a related regression where GCC decides the static field is
not a declaration/variable and rejects the code, PR 104108 .

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (2 preceding siblings ...)
  2022-01-19  0:31 ` pinskia at gcc dot gnu.org
@ 2022-01-19 10:57 ` rguenth at gcc dot gnu.org
  2022-01-31 15:11 ` [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e marxin at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-19 10:57 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (3 preceding siblings ...)
  2022-01-19 10:57 ` rguenth at gcc dot gnu.org
@ 2022-01-31 15:11 ` marxin at gcc dot gnu.org
  2022-02-10 22:55 ` jason at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-01-31 15:11 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11/12 Regression]     |[9/10/11/12 Regression]
                   |parsing crashes on class    |parsing crashes on class
                   |template instantiation      |template instantiation
                   |                            |since
                   |                            |r9-6853-g17838af989014f5e
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
           Keywords|needs-bisection             |

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r9-6853-g17838af989014f5e.

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

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (4 preceding siblings ...)
  2022-01-31 15:11 ` [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e marxin at gcc dot gnu.org
@ 2022-02-10 22:55 ` jason at gcc dot gnu.org
  2022-02-15  5:06 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2022-02-10 22:55 UTC (permalink / raw)
  To: gcc-bugs

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

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] 15+ messages in thread

* [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (5 preceding siblings ...)
  2022-02-10 22:55 ` jason at gcc dot gnu.org
@ 2022-02-15  5:06 ` cvs-commit at gcc dot gnu.org
  2022-02-16  0:12 ` [Bug c++/104107] [9/10/11 " jason at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-02-15  5:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 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:2c3309e3d0f5cb8f298f7604848d115f0992e04f

commit r12-7236-g2c3309e3d0f5cb8f298f7604848d115f0992e04f
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Feb 10 17:57:38 2022 -0500

    c++: TTP in member alias template [PR104107]

    In the first testcase, coerce_template_template_parms was adding too much
of
    outer_args when coercing to match P's template parameters, so that when
    substituting into the 'const T&' parameter we got an unrelated template
    argument for T.  We should only add outer_args when the argument template
is
    a nested template.

            PR c++/104107
            PR c++/95036

    gcc/cp/ChangeLog:

            * pt.cc (coerce_template_template_parms): Take full parms.
            Avoid adding too much of outer_args.
            (coerce_template_template_parm): Adjust.
            (template_template_parm_bindings_ok_p): Adjust.
            (convert_template_argument): Adjust.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/alias-decl-ttp2.C: New test.
            * g++.dg/cpp1z/ttp2.C: New test.

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

* [Bug c++/104107] [9/10/11 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (6 preceding siblings ...)
  2022-02-15  5:06 ` cvs-commit at gcc dot gnu.org
@ 2022-02-16  0:12 ` jason at gcc dot gnu.org
  2022-03-28 19:13 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2022-02-16  0:12 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |12.0
            Summary|[9/10/11/12 Regression]     |[9/10/11 Regression]
                   |parsing crashes on class    |parsing crashes on class
                   |template instantiation      |template instantiation
                   |since                       |since
                   |r9-6853-g17838af989014f5e   |r9-6853-g17838af989014f5e

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for GCC 12 so far.

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

* [Bug c++/104107] [9/10/11 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (7 preceding siblings ...)
  2022-02-16  0:12 ` [Bug c++/104107] [9/10/11 " jason at gcc dot gnu.org
@ 2022-03-28 19:13 ` cvs-commit at gcc dot gnu.org
  2022-03-28 19:13 ` [Bug c++/104107] [9/10 " jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-28 19:13 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:450e82794245c49248711f1479c491d84cb46c57

commit r11-9708-g450e82794245c49248711f1479c491d84cb46c57
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Feb 10 17:57:38 2022 -0500

    c++: TTP in member alias template [PR104107]

    In the first testcase, coerce_template_template_parms was adding too much
of
    outer_args when coercing to match P's template parameters, so that when
    substituting into the 'const T&' parameter we got an unrelated template
    argument for T.  We should only add outer_args when the argument template
is
    a nested template.

            PR c++/104107
            PR c++/95036

    gcc/cp/ChangeLog:

            * pt.c (coerce_template_template_parms): Take full parms.
            Avoid adding too much of outer_args.
            (coerce_template_template_parm): Adjust.
            (template_template_parm_bindings_ok_p): Adjust.
            (convert_template_argument): Adjust.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/alias-decl-ttp2.C: New test.
            * g++.dg/cpp1z/ttp2.C: New test.

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

* [Bug c++/104107] [9/10 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (8 preceding siblings ...)
  2022-03-28 19:13 ` cvs-commit at gcc dot gnu.org
@ 2022-03-28 19:13 ` jason at gcc dot gnu.org
  2022-05-27  9:47 ` [Bug c++/104107] [10 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jason at gcc dot gnu.org @ 2022-03-28 19:13 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11 Regression]        |[9/10 Regression] parsing
                   |parsing crashes on class    |crashes on class template
                   |template instantiation      |instantiation since
                   |since                       |r9-6853-g17838af989014f5e
                   |r9-6853-g17838af989014f5e   |

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> ---
and for 11.3.

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

* [Bug c++/104107] [10 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (9 preceding siblings ...)
  2022-03-28 19:13 ` [Bug c++/104107] [9/10 " jason at gcc dot gnu.org
@ 2022-05-27  9:47 ` rguenth at gcc dot gnu.org
  2022-06-28 10:47 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:47 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

* [Bug c++/104107] [10 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (10 preceding siblings ...)
  2022-05-27  9:47 ` [Bug c++/104107] [10 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:47 ` jakub at gcc dot gnu.org
  2023-03-15 12:45 ` cvs-commit at gcc dot gnu.org
  2023-07-07  9:49 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:47 UTC (permalink / raw)
  To: gcc-bugs

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

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] 15+ messages in thread

* [Bug c++/104107] [10 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (11 preceding siblings ...)
  2022-06-28 10:47 ` jakub at gcc dot gnu.org
@ 2023-03-15 12:45 ` cvs-commit at gcc dot gnu.org
  2023-07-07  9:49 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-03-15 12:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:3ea64aad06a2b32739028bae03b9b9a5691d2d30

commit r13-6693-g3ea64aad06a2b32739028bae03b9b9a5691d2d30
Author: Jason Merrill <jason@redhat.com>
Date:   Fri Mar 10 14:55:27 2023 -0500

    c++: passing one ttp to another [PR108179]

    I kept trying to improve our choice of how many levels of outer_args to
add,
    when really the problem was that outer_args are for PARM and for this
    reverse deduction we should be adding the outer arguments for ARG.

    I spent quite a while trying to get DECL_CONTEXT set consistently on
    template template parameters that have gone through
    reduce_template_parm_level before I realized I could just use
    current_scope().

            PR c++/108179
            PR c++/104107
            PR c++/95036

    gcc/cp/ChangeLog:

            * pt.cc (coerce_template_template_parms): Use args from
            DECL_CONTEXT (arg_tmpl) instead of outer_args.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/ttp35.C: New test.

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

* [Bug c++/104107] [10 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e
  2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
                   ` (12 preceding siblings ...)
  2023-03-15 12:45 ` cvs-commit at gcc dot gnu.org
@ 2023-07-07  9:49 ` rguenth at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07  9:49 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Target Milestone|10.5                        |11.3
      Known to fail|                            |10.5.0, 11.2.0
      Known to work|                            |11.3.0
             Status|ASSIGNED                    |RESOLVED

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

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

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

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-19  0:01 [Bug c++/104107] New: parsing crashes on class template instantiation gzoumix at hotmail dot com
2022-01-19  0:14 ` [Bug c++/104107] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
2022-01-19  0:30 ` pinskia at gcc dot gnu.org
2022-01-19  0:31 ` pinskia at gcc dot gnu.org
2022-01-19 10:57 ` rguenth at gcc dot gnu.org
2022-01-31 15:11 ` [Bug c++/104107] [9/10/11/12 Regression] parsing crashes on class template instantiation since r9-6853-g17838af989014f5e marxin at gcc dot gnu.org
2022-02-10 22:55 ` jason at gcc dot gnu.org
2022-02-15  5:06 ` cvs-commit at gcc dot gnu.org
2022-02-16  0:12 ` [Bug c++/104107] [9/10/11 " jason at gcc dot gnu.org
2022-03-28 19:13 ` cvs-commit at gcc dot gnu.org
2022-03-28 19:13 ` [Bug c++/104107] [9/10 " jason at gcc dot gnu.org
2022-05-27  9:47 ` [Bug c++/104107] [10 " rguenth at gcc dot gnu.org
2022-06-28 10:47 ` jakub at gcc dot gnu.org
2023-03-15 12:45 ` cvs-commit at gcc dot gnu.org
2023-07-07  9:49 ` 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).