public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/100252] New: Internal compiler error during template instantiation
@ 2021-04-25  3:08 sand at rifkin dot dev
  2021-04-25 15:31 ` [Bug c++/100252] " sand at rifkin dot dev
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: sand at rifkin dot dev @ 2021-04-25  3:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 100252
           Summary: Internal compiler error during template instantiation
           Product: gcc
           Version: 10.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sand at rifkin dot dev
  Target Milestone: ---

An internal compiler error occurs while compiling this template code:
https://godbolt.org/z/rP9Wf97vP.

Error message:
<source>: In member function 'typename example::Ac<B>::gt<I>::k& tcc<A>::gr()
[with int I = 1; A = {float, int}]':
<source>:97:62: internal compiler error: in replace_placeholders_r, at
cp/tree.c:3332
   97 |         return typename example::Ac<A...>::template gt<I>{k}.K;
      |                                                     ~~~~~~~~~^
0x1cff079 internal_error(char const*, ...)
        ???:0
0x6bac69 fancy_abort(char const*, int, char const*)
        ???:0
0x13971f3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        ???:0

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

* [Bug c++/100252] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
@ 2021-04-25 15:31 ` sand at rifkin dot dev
  2021-04-26  0:47 ` sand at rifkin dot dev
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: sand at rifkin dot dev @ 2021-04-25 15:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jeremy R. <sand at rifkin dot dev> ---
A more minimal case: https://godbolt.org/z/jxP9e35bz

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

* [Bug c++/100252] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
  2021-04-25 15:31 ` [Bug c++/100252] " sand at rifkin dot dev
@ 2021-04-26  0:47 ` sand at rifkin dot dev
  2021-04-26  7:28 ` rguenth at gcc dot gnu.org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: sand at rifkin dot dev @ 2021-04-26  0:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jeremy R. <sand at rifkin dot dev> ---
Even more minimal case: https://godbolt.org/z/M3Tv9oqcn

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

* [Bug c++/100252] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
  2021-04-25 15:31 ` [Bug c++/100252] " sand at rifkin dot dev
  2021-04-26  0:47 ` sand at rifkin dot dev
@ 2021-04-26  7:28 ` rguenth at gcc dot gnu.org
  2021-04-26 14:37 ` [Bug c++/100252] [8/9/10/11/12 Regression] " mpolacek at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-26  7:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
     Ever confirmed|0                           |1
      Known to fail|                            |10.3.0, 11.0, 12.0
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-04-26

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
template<int I>
struct E{
    int &K;
    decltype(E<I-1>::k) &k = E<I-1>{K}.k;
};

template<>
struct E<0>{
    int &K;
    int &k = K;
};

int main(){
    int r;
    E<1>{r}.k = 7;
}

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

* [Bug c++/100252] [8/9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (2 preceding siblings ...)
  2021-04-26  7:28 ` rguenth at gcc dot gnu.org
@ 2021-04-26 14:37 ` mpolacek at gcc dot gnu.org
  2021-04-26 21:11 ` ppalka at gcc dot gnu.org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2021-04-26 14:37 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Internal compiler error     |[8/9/10/11/12 Regression]
                   |during template             |Internal compiler error
                   |instantiation               |during template
                   |                            |instantiation
   Target Milestone|---                         |8.5
                 CC|                            |mpolacek at gcc dot gnu.org

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

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

* [Bug c++/100252] [8/9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (3 preceding siblings ...)
  2021-04-26 14:37 ` [Bug c++/100252] [8/9/10/11/12 Regression] " mpolacek at gcc dot gnu.org
@ 2021-04-26 21:11 ` ppalka at gcc dot gnu.org
  2021-04-30  8:10 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ppalka at gcc dot gnu.org @ 2021-04-26 21:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

struct A {
  int x;
  int y = x;
};

struct B {
  int x = 0;
  int y = A{x}.y;
};

B b = {};

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

* [Bug c++/100252] [8/9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (4 preceding siblings ...)
  2021-04-26 21:11 ` ppalka at gcc dot gnu.org
@ 2021-04-30  8:10 ` rguenth at gcc dot gnu.org
  2021-05-14  9:54 ` [Bug c++/100252] [9/10/11/12 " jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-30  8:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (5 preceding siblings ...)
  2021-04-30  8:10 ` rguenth at gcc dot gnu.org
@ 2021-05-14  9:54 ` jakub at gcc dot gnu.org
  2021-06-01  8:20 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-05-14  9:54 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|8.5                         |9.4

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 8 branch is being closed.

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (6 preceding siblings ...)
  2021-05-14  9:54 ` [Bug c++/100252] [9/10/11/12 " jakub at gcc dot gnu.org
@ 2021-06-01  8:20 ` rguenth at gcc dot gnu.org
  2022-04-25 22:43 ` mpolacek at gcc dot gnu.org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01  8:20 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9.4 is being released, retargeting bugs to GCC 9.5.

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (7 preceding siblings ...)
  2021-06-01  8:20 ` rguenth at gcc dot gnu.org
@ 2022-04-25 22:43 ` mpolacek at gcc dot gnu.org
  2022-04-26 15:54 ` mpolacek at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-25 22:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This is tricky, because we end up with

{.x=(&<PLACEHOLDER_EXPR struct B>)->x, .y=(&<PLACEHOLDER_EXPR struct A>)->x}

that is, two PLACEHOLDER_EXPRs for different types on the same level in one {
}, so our CONSTRUCTOR_PLACEHOLDER_BOUNDARY mechanism to avoid replacing
unrelated PLACEHOLDER_EXPRs will not work.

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (8 preceding siblings ...)
  2022-04-25 22:43 ` mpolacek at gcc dot gnu.org
@ 2022-04-26 15:54 ` mpolacek at gcc dot gnu.org
  2022-04-26 15:58 ` mpolacek at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-26 15:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
When we are cp_parser_late_parsing_nsdmi for "int y = A{x}.y;" we perform
finish_compound_literal on type=A, compound_literal={((struct B *) this)->x}. 
When digesting this initializer, we call get_nsdmi which creates a
PLACEHOLDER_EXPR for A -- we don't have any object to refer to yet.  After
digesting, we have

  {.x=((struct B *) this)->x, .y=(&<PLACEHOLDER_EXPR struct A>)->x}

and since we've created a PLACEHOLDER_EXPR inside it, we marked the whole ctor
CONSTRUCTOR_PLACEHOLDER_BOUNDARY.  f_c_l creates a TARGET_EXPR and returns

  TARGET_EXPR <D.2384, {.x=((struct B *) this)->x, .y=(&<PLACEHOLDER_EXPR
struct A>)->x}>

(*)

Then we get to

  B b = {};

and call store_init_value, which digest the {}, which produces

  {.x=NON_LVALUE_EXPR <0>, .y=(TARGET_EXPR <D.2395, {.x=(&<PLACEHOLDER_EXPR
struct B>)->x, .y=(&<PLACEHOLDER_EXPR struct A>)->x}>).y}

The call to replace_placeholders in store_init_value will not do anything:
we've marked the inner { } CONSTRUCTOR_PLACEHOLDER_BOUNDARY, and it's only a
sub-expression, so replace_placeholders does nothing, so the <PLACEHOLDER_EXPR
struct B> stays even though now it was the perfect time to replace it because
we have an object for it: 'b'.

Later, in cp_gimplify_init_expr the *expr_p is

  D.2395 = {.x=(&<PLACEHOLDER_EXPR struct B>)->x, .y=(&<PLACEHOLDER_EXPR struct
A>)->x}

where D.2395 is of type A, but we crash because we hit <PLACEHOLDER_EXPR struct
B>, which has a different type.


Now here's an idea how we could fix this: at the (*) point in
finish_compound_literal we could replace <PLACEHOLDER_EXPR struct A> with
D.2384 because now we have an object!  Then clear
CONSTRUCTOR_PLACEHOLDER_BOUNDARY, because we no longer have a PLACEHOLDER_EXPR
in the {}.  Then store_init_value will be able to replace <PLACEHOLDER_EXPR
struct B> with 'b', and we should be good to go.

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (9 preceding siblings ...)
  2022-04-26 15:54 ` mpolacek at gcc dot gnu.org
@ 2022-04-26 15:58 ` mpolacek at gcc dot gnu.org
  2022-04-26 22:46 ` mpolacek at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-26 15:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Proof of concept:

--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -3296,6 +3296,14 @@ finish_compound_literal (tree type, tree
compound_literal,
       if (TREE_CODE (compound_literal) == CONSTRUCTOR)
        TREE_HAS_CONSTRUCTOR (compound_literal) = false;
       compound_literal = get_target_expr_sfinae (compound_literal, complain);
+      if (parsing_nsdmi ())
+       {
+         tree obj = TARGET_EXPR_SLOT (compound_literal);
+         tree &ctor = TARGET_EXPR_INITIAL (compound_literal);
+         replace_placeholders (compound_literal, obj);
+         if (TREE_CODE (ctor) == CONSTRUCTOR)
+           CONSTRUCTOR_PLACEHOLDER_BOUNDARY (ctor) = false;
+       }
     }
   else
     /* For e.g. int{42} just make sure it's a prvalue.  */

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (10 preceding siblings ...)
  2022-04-26 15:58 ` mpolacek at gcc dot gnu.org
@ 2022-04-26 22:46 ` mpolacek at gcc dot gnu.org
  2022-05-25 15:01 ` [Bug c++/100252] [9/10/11/12/13 " cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-04-26 22:46 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

* [Bug c++/100252] [9/10/11/12/13 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (11 preceding siblings ...)
  2022-04-26 22:46 ` mpolacek at gcc dot gnu.org
@ 2022-05-25 15:01 ` cvs-commit at gcc dot gnu.org
  2022-05-25 15:03 ` [Bug c++/100252] [9/10/11/12 " mpolacek at gcc dot gnu.org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-25 15:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Marek Polacek <mpolacek@gcc.gnu.org>:

https://gcc.gnu.org/g:1b661f3f5e712c951e774b3b91fffe4dac734cc7

commit r13-765-g1b661f3f5e712c951e774b3b91fffe4dac734cc7
Author: Marek Polacek <polacek@redhat.com>
Date:   Tue Apr 26 15:52:00 2022 -0400

    c++: ICE with temporary of class type in DMI [PR100252]

    Consider

      struct A {
        int x;
        int y = x;
      };

      struct B {
        int x = 0;
        int y = A{x}.y; // #1
      };

    where for #1 we end up with

      {.x=(&<PLACEHOLDER_EXPR struct B>)->x, .y=(&<PLACEHOLDER_EXPR struct
A>)->x}

    that is, two PLACEHOLDER_EXPRs for different types on the same level in
    a {}.  This crashes because our CONSTRUCTOR_PLACEHOLDER_BOUNDARY mechanism
to
    avoid replacing unrelated PLACEHOLDER_EXPRs cannot deal with it.

    Here's why we wound up with those PLACEHOLDER_EXPRs: When we're performing
    cp_parser_late_parsing_nsdmi for "int y = A{x}.y;" we use
finish_compound_literal
    on type=A, compound_literal={((struct B *) this)->x}.  When digesting this
    initializer, we call get_nsdmi which creates a PLACEHOLDER_EXPR for A -- we
don't
    have any object to refer to yet.  After digesting, we have

      {.x=((struct B *) this)->x, .y=(&<PLACEHOLDER_EXPR struct A>)->x}

    and since we've created a PLACEHOLDER_EXPR inside it, we marked the whole
ctor
    CONSTRUCTOR_PLACEHOLDER_BOUNDARY.  f_c_l creates a TARGET_EXPR and returns

      TARGET_EXPR <D.2384, {.x=((struct B *) this)->x, .y=(&<PLACEHOLDER_EXPR
struct A>)->x}>

    Then we get to

      B b = {};

    and call store_init_value, which digests the {}, which produces

      {.x=NON_LVALUE_EXPR <0>, .y=(TARGET_EXPR <D.2395, {.x=(&<PLACEHOLDER_EXPR
struct B>)->x, .y=(&<PLACEHOLDER_EXPR struct A>)->x}>).y}

    lookup_placeholder in constexpr won't find an object to replace the
    PLACEHOLDER_EXPR for B, because ctx->object will be D.2395 of type A, and
we
    cannot search outward from D.2395 to find 'b'.

    The call to replace_placeholders in store_init_value will not do anything:
    we've marked the inner { } CONSTRUCTOR_PLACEHOLDER_BOUNDARY, and it's only
    a sub-expression, so replace_placeholders does nothing, so the <P_E struct
B>
    stays even though now is the perfect time to replace it because we have an
    object for it: 'b'.

    Later, in cp_gimplify_init_expr the *expr_p is

      D.2395 = {.x=(&<PLACEHOLDER_EXPR struct B>)->x, .y=(&<PLACEHOLDER_EXPR
struct A>)->x}

    where D.2395 is of type A, but we crash because we hit <P_E struct B>,
which
    has a different type.

    My idea was to replace <P_E struct A> with D.2384 after creating the
    TARGET_EXPR because that means we have an object we can refer to.
    Then clear CONSTRUCTOR_PLACEHOLDER_BOUNDARY because we no longer have
    a PLACEHOLDER_EXPR in the {}.  Then store_init_value will be able to
    replace <P_E struct B> with 'b', and we should be good to go.  We must
    be careful not to break guaranteed copy elision, so this replacement
    happens in digest_nsdmi_init where we can see the whole initializer,
    and avoid replacing any placeholders in TARGET_EXPRs used in the context
    of initialization/copy elision.  This is achieved via the new function
    called potential_prvalue_result_of.

    While fixing this problem, I found PR105550, thus the FIXMEs in the
    tests.

            PR c++/100252

    gcc/cp/ChangeLog:

            * typeck2.cc (potential_prvalue_result_of): New.
            (replace_placeholders_for_class_temp_r): New.
            (digest_nsdmi_init): Call it.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp1y/nsdmi-aggr14.C: New test.
            * g++.dg/cpp1y/nsdmi-aggr15.C: New test.
            * g++.dg/cpp1y/nsdmi-aggr16.C: New test.
            * g++.dg/cpp1y/nsdmi-aggr17.C: New test.
            * g++.dg/cpp1y/nsdmi-aggr18.C: New test.
            * g++.dg/cpp1y/nsdmi-aggr19.C: New test.

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

* [Bug c++/100252] [9/10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (12 preceding siblings ...)
  2022-05-25 15:01 ` [Bug c++/100252] [9/10/11/12/13 " cvs-commit at gcc dot gnu.org
@ 2022-05-25 15:03 ` mpolacek at gcc dot gnu.org
  2022-05-27  9:45 ` [Bug c++/100252] [10/11/12 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-05-25 15:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11/12/13 Regression]  |[9/10/11/12 Regression]
                   |Internal compiler error     |Internal compiler error
                   |during template             |during template
                   |instantiation               |instantiation

--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Fixed on trunk so far.

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

* [Bug c++/100252] [10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (13 preceding siblings ...)
  2022-05-25 15:03 ` [Bug c++/100252] [9/10/11/12 " mpolacek at gcc dot gnu.org
@ 2022-05-27  9:45 ` rguenth at gcc dot gnu.org
  2022-06-28 10:44 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

* [Bug c++/100252] [10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (14 preceding siblings ...)
  2022-05-27  9:45 ` [Bug c++/100252] [10/11/12 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:44 ` jakub at gcc dot gnu.org
  2022-07-01 16:12 ` mpolacek at gcc dot gnu.org
  2023-07-07 10:39 ` [Bug c++/100252] [11/12 " rguenth at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:44 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #14 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] 19+ messages in thread

* [Bug c++/100252] [10/11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (15 preceding siblings ...)
  2022-06-28 10:44 ` jakub at gcc dot gnu.org
@ 2022-07-01 16:12 ` mpolacek at gcc dot gnu.org
  2023-07-07 10:39 ` [Bug c++/100252] [11/12 " rguenth at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2022-07-01 16:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100252
Bug 100252 depends on bug 105550, which changed state.

Bug 105550 Summary: Missing copy elision with conditional operator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105550

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

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

* [Bug c++/100252] [11/12 Regression] Internal compiler error during template instantiation
  2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
                   ` (16 preceding siblings ...)
  2022-07-01 16:12 ` mpolacek at gcc dot gnu.org
@ 2023-07-07 10:39 ` rguenth at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07 10:39 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

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

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-25  3:08 [Bug c++/100252] New: Internal compiler error during template instantiation sand at rifkin dot dev
2021-04-25 15:31 ` [Bug c++/100252] " sand at rifkin dot dev
2021-04-26  0:47 ` sand at rifkin dot dev
2021-04-26  7:28 ` rguenth at gcc dot gnu.org
2021-04-26 14:37 ` [Bug c++/100252] [8/9/10/11/12 Regression] " mpolacek at gcc dot gnu.org
2021-04-26 21:11 ` ppalka at gcc dot gnu.org
2021-04-30  8:10 ` rguenth at gcc dot gnu.org
2021-05-14  9:54 ` [Bug c++/100252] [9/10/11/12 " jakub at gcc dot gnu.org
2021-06-01  8:20 ` rguenth at gcc dot gnu.org
2022-04-25 22:43 ` mpolacek at gcc dot gnu.org
2022-04-26 15:54 ` mpolacek at gcc dot gnu.org
2022-04-26 15:58 ` mpolacek at gcc dot gnu.org
2022-04-26 22:46 ` mpolacek at gcc dot gnu.org
2022-05-25 15:01 ` [Bug c++/100252] [9/10/11/12/13 " cvs-commit at gcc dot gnu.org
2022-05-25 15:03 ` [Bug c++/100252] [9/10/11/12 " mpolacek at gcc dot gnu.org
2022-05-27  9:45 ` [Bug c++/100252] [10/11/12 " rguenth at gcc dot gnu.org
2022-06-28 10:44 ` jakub at gcc dot gnu.org
2022-07-01 16:12 ` mpolacek at gcc dot gnu.org
2023-07-07 10:39 ` [Bug c++/100252] [11/12 " 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).