[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #22 from Jakub Jelinek --- Author: jakub Date: Fri Mar 16 12:46:12 2018 New Revision: 258593 URL: https://gcc.gnu.org/viewcvs?rev=258593=gcc=rev Log: PR c++/79937 PR c++/82410 * tree.h (TARGET_EXPR_NO_ELIDE):

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-14 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Jakub Jelinek changed: What|Removed |Added Attachment #43577|0 |1 is obsolete|

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-13 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #19 from Jason Merrill --- *** Bug 82410 has been marked as a duplicate of this bug. ***

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #18 from Jakub Jelinek --- struct Y { static Y bar (Y y) { return y; } int i; int n = bar (Y{2,i}).m + bar {Y{2,i,i}).n; int m = i; }; is rejected, so I can't find a counter-example where PLACEHOLDER_EXPRs for different

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #17 from Jakub Jelinek --- (In reply to Jason Merrill from comment #16) > (In reply to Jakub Jelinek from comment #13) > > E.g. could we walk into TARGET_EXPRs that have TARGET_EXPR_INITIAL > > AGGR_INIT_EXPR, but avoid those that

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #16 from Jason Merrill --- (In reply to Jakub Jelinek from comment #13) > E.g. could we walk into TARGET_EXPRs that have TARGET_EXPR_INITIAL > AGGR_INIT_EXPR, but avoid those that have TARGET_EXPR_INITIAL a CONSTRUCTOR, > or a

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #15 from Jakub Jelinek --- Created attachment 43578 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43578=edit gcc8-pr79937.patch Actually, seems TREE_HAS_CONSTRUCTOR is set on a CONSTRUCTOR only by finish_compound_literal. So

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #14 from Jakub Jelinek --- The CONSTRUCTORS in TARGET_EXPR in the pr79937-{1,2,3}.C testcases have all CONSTRUCTOR_IS_DIRECT_INIT and TREE_HAS_CONSTRUCTOR set, while nsdmi13.C doesn't. Does any of those matter? In the nsdmi13.C

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #13 from Jakub Jelinek --- That said, I've tried: --- gcc/cp/semantics.c.jj 2018-03-06 08:01:37.851883447 +0100 +++ gcc/cp/semantics.c 2018-03-06 15:19:27.685013764 +0100 @@ -2814,6 +2814,11 @@ finish_compound_literal (tree

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-06 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 --- Comment #12 from Jakub Jelinek --- Created attachment 43577 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43577=edit gcc8-pr79937.patch My #c8 patch doesn't work at all, but this one at least fixes the two testcases (but indeed

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-05 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Jason Merrill changed: What|Removed |Added Assignee|jason at gcc dot gnu.org |unassigned at gcc dot gnu.org

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-03-02 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Jason Merrill changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org ---

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-02-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Paolo Carlini changed: What|Removed |Added CC||paolo.carlini at oracle dot com ---

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2018-01-16 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #8

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2017-10-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Paolo Carlini changed: What|Removed |Added CC|paolo.carlini at oracle dot com| --- Comment #7 from Paolo

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2017-10-23 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|NEW Assignee|mpolacek at gcc

[Bug c++/79937] [6/7/8 Regression] ICE in replace_placeholders_r

2017-10-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937 Paolo Carlini changed: What|Removed |Added CC||paolo.carlini at oracle dot com ---