public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/91966] [8/9/10 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
@ 2020-03-14  0:43 ` jason at gcc dot gnu.org
  2020-04-03 17:49 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 7+ messages in thread
From: jason at gcc dot gnu.org @ 2020-03-14  0:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

* [Bug c++/91966] [8/9/10 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
  2020-03-14  0:43 ` [Bug c++/91966] [8/9/10 Regression] pack expansion for Cartesian product breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0 jason at gcc dot gnu.org
@ 2020-04-03 17:49 ` cvs-commit at gcc dot gnu.org
  2020-04-03 19:26 ` [Bug c++/91966] [8/9 " cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-03 17:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 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:bcafd8748cf9eb83a9e71bf67c4e2a7c5c8f513c

commit r10-7542-gbcafd8748cf9eb83a9e71bf67c4e2a7c5c8f513c
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 2 23:40:46 2020 -0400

    c++: alias template and parameter packs (PR91966).

    In this testcase, when we do a pack expansion of count_better_mins<nums>,
    nums appears both in the definition of count_better_mins and as its
template
    argument.  The intent is that we get a expansion over pairs of elements of
    the pack, i.e. less<2,2>, less<2,7>, less<7,2>, ....  But if we substitute
    into the definition of count_better_mins when parsing the template, we end
    up with sum<less<nums,nums>...>, which never gives us less<2,7>.  We could
    deal with this by somehow marking up the use of 'nums' as an argument for
    'num', but it's simpler to mark the alias as complex, so we need to
    instantiate it later with all its arguments rather than replace it early
    with its expansion.

    gcc/cp/ChangeLog
    2020-04-03  Jason Merrill  <jason@redhat.com>

            PR c++/91966
            * pt.c (complex_pack_expansion_r): New.
            (complex_alias_template_p): Use it.

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

* [Bug c++/91966] [8/9 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
  2020-03-14  0:43 ` [Bug c++/91966] [8/9/10 Regression] pack expansion for Cartesian product breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0 jason at gcc dot gnu.org
  2020-04-03 17:49 ` cvs-commit at gcc dot gnu.org
@ 2020-04-03 19:26 ` cvs-commit at gcc dot gnu.org
  2020-04-03 20:06 ` [Bug c++/91966] [8 " jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-03 19:26 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:70ae61692245b5002f32454c8447655ad65a8535

commit r9-8450-g70ae61692245b5002f32454c8447655ad65a8535
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 2 23:40:46 2020 -0400

    c++: alias template and parameter packs (PR91966).

    In this testcase, when we do a pack expansion of count_better_mins<nums>,
    nums appears both in the definition of count_better_mins and as its
template
    argument.  The intent is that we get a expansion over pairs of elements of
    the pack, i.e. less<2,2>, less<2,7>, less<7,2>, ....  But if we substitute
    into the definition of count_better_mins when parsing the template, we end
    up with sum<less<nums,nums>...>, which never gives us less<2,7>.  We could
    deal with this by somehow marking up the use of 'nums' as an argument for
    'num', but it's simpler to mark the alias as complex, so we need to
    instantiate it later with all its arguments rather than replace it early
    with its expansion.

    gcc/cp/ChangeLog
    2020-04-03  Jason Merrill  <jason@redhat.com>

            PR c++/91966
            * pt.c (complex_pack_expansion_r): New.
            (complex_alias_template_p): Use it.

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

* [Bug c++/91966] [8 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2020-04-03 19:26 ` [Bug c++/91966] [8/9 " cvs-commit at gcc dot gnu.org
@ 2020-04-03 20:06 ` jason at gcc dot gnu.org
  2020-04-04 22:35 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 7+ messages in thread
From: jason at gcc dot gnu.org @ 2020-04-03 20:06 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8/9 Regression] pack       |[8 Regression] pack
                   |expansion for Cartesian     |expansion for Cartesian
                   |product  breaks if certain  |product  breaks if certain
                   |indirections are involved   |indirections are involved
                   |since                       |since
                   |r6-1487-g1a4cd2cd7e7266b0   |r6-1487-g1a4cd2cd7e7266b0

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 9.4/10.  Does anyone care about fixing this in GCC 8?

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

* [Bug c++/91966] [8 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2020-04-03 20:06 ` [Bug c++/91966] [8 " jason at gcc dot gnu.org
@ 2020-04-04 22:35 ` cvs-commit at gcc dot gnu.org
  2021-05-14 13:19 ` jakub at gcc dot gnu.org
  2021-08-17  1:01 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-04 22:35 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

commit r8-10165-gc4f6911d39089c5f500977d9fc0e36c72f2018a7
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Apr 2 23:40:46 2020 -0400

    c++: alias template and parameter packs (PR91966).

    In this testcase, when we do a pack expansion of count_better_mins<nums>,
    nums appears both in the definition of count_better_mins and as its
template
    argument.  The intent is that we get a expansion over pairs of elements of
    the pack, i.e. less<2,2>, less<2,7>, less<7,2>, ....  But if we substitute
    into the definition of count_better_mins when parsing the template, we end
    up with sum<less<nums,nums>...>, which never gives us less<2,7>.  We could
    deal with this by somehow marking up the use of 'nums' as an argument for
    'num', but it's simpler to mark the alias as complex, so we need to
    instantiate it later with all its arguments rather than replace it early
    with its expansion.

    gcc/cp/ChangeLog
    2020-04-03  Jason Merrill  <jason@redhat.com>

            PR c++/91966
            * pt.c (complex_pack_expansion_r): New.
            (complex_alias_template_p): Use it.

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

* [Bug c++/91966] [8 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2020-04-04 22:35 ` cvs-commit at gcc dot gnu.org
@ 2021-05-14 13:19 ` jakub at gcc dot gnu.org
  2021-08-17  1:01 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-05-14 13:19 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 8.5 too.

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

* [Bug c++/91966] [8 Regression] pack expansion for Cartesian product  breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0
       [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2021-05-14 13:19 ` jakub at gcc dot gnu.org
@ 2021-08-17  1:01 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-17  1:01 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |d.frey at gmx dot de

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 91747 has been marked as a duplicate of this bug. ***

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

end of thread, other threads:[~2021-08-17  1:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-91966-4@http.gcc.gnu.org/bugzilla/>
2020-03-14  0:43 ` [Bug c++/91966] [8/9/10 Regression] pack expansion for Cartesian product breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0 jason at gcc dot gnu.org
2020-04-03 17:49 ` cvs-commit at gcc dot gnu.org
2020-04-03 19:26 ` [Bug c++/91966] [8/9 " cvs-commit at gcc dot gnu.org
2020-04-03 20:06 ` [Bug c++/91966] [8 " jason at gcc dot gnu.org
2020-04-04 22:35 ` cvs-commit at gcc dot gnu.org
2021-05-14 13:19 ` jakub at gcc dot gnu.org
2021-08-17  1:01 ` pinskia 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).