[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Jason Merrill changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #9 from Jason Merrill --- Fixed
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 --- Comment #8 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:08c8c973c082457a7d6192673e87475f1fdfdbef commit r10-5949-g08c8c973c082457a7d6192673e87475f1fdfdbef Author: Jason Merrill Date: Tue Jan 14 13:59:54 2020 -0500 PR c++/92590 - wrong handling of inherited default ctor. I thought my earlier fix for 91930 was an obvious bug fix, but apparently an inherited constructor does not count as user-declared. So this patch reverts that change and the other follow-on patches, and fixes 91930 differently, by not letting the inherited default constructor hide the implicitly-declared default constructor. * class.c (add_method): A constrained inherited ctor doesn't hide an implicit derived ctor. Revert: PR c++/91930 - ICE with constrained inherited default ctor. * name-lookup.c (do_class_using_decl): Set TYPE_HAS_USER_CONSTRUCTOR for inherited constructor. PR c++/92552 - ICE with inherited constrained default ctor. * pt.c (instantiate_class_template_1): Copy TYPE_HAS_USER_CONSTRUCTOR. PR c++/92594 - ICE with inherited trivial default ctor. * method.c (trivial_fn_p): Treat an inherited default constructor like a normal default constructor.
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Jason Merrill changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --- Comment #7 from Jason Merrill --- OK, let's try this again.
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 --- Comment #6 from Hannes Hauswedell --- I can confirm that my problem is not fixed by the patch from this PR. Do you want me to open a new issue or will this be reopened?
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Hannes Hauswedell changed: What|Removed |Added CC||h2+bugs at fsfe dot org --- Comment #5 from Hannes Hauswedell --- Created attachment 47148 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47148=edit intermediate code I am still seeing: /home/hannes/devel/seqan3/submodules/range-v3/include/range/v3/iterator/basic_iterator.hpp:463:23: internal compiler error: in lazily_declare_fn, at cp/method.c:2372 463 | Cur>::readable_iterator_associated_types_base; | ^~~ in the snapshot from 20191027. Was the fix merged later or is my issue different? Intermediate code is attached. Build with -std=c++17 -fconcepts Thank you for your help!
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from Jason Merrill --- Fixed.
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 --- Comment #3 from Jason Merrill --- Author: jason Date: Mon Oct 14 20:13:49 2019 New Revision: 276968 URL: https://gcc.gnu.org/viewcvs?rev=276968=gcc=rev Log: PR c++/91930 - ICE with constrained inherited default ctor. The testcase was crashing because lazily_declare_fn was failing to add a defaulted constructor, because the implicit declaration was less constrained than the inherited default constructor. But when we have an inherited constructor, we shouldn't be trying to declare a default constructor in the first place, because it counts as "a user-declared constructor". With that fixed I needed to adjust a couple of inherited constructor testcases that previously had been diagnosing the default constructor as deleted rather than not declared. * name-lookup.c (do_class_using_decl): Set TYPE_HAS_USER_CONSTRUCTOR for inherited constructor. Added: trunk/gcc/testsuite/g++.dg/cpp2a/concepts-inherit-ctor6.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/name-lookup.c trunk/gcc/testsuite/g++.dg/cpp0x/inh-ctor5.C trunk/gcc/testsuite/g++.dg/cpp1z/inh-ctor22.C
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2019-10-14 Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org Ever confirmed|0 |1
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 David Binderman changed: What|Removed |Added CC||dcb314 at hotmail dot com --- Comment #2 from David Binderman --- I see similar things on raspberry pi: ../include/range/v3/iterator/basic_iterator.hpp:463:23: internal compiler error: in lazily_declare_fn, at cp/method.c:2428 463 | Cur>::readable_iterator_associated_types_base; | ^~~ 0x5e2523 lazily_declare_fn(special_function_kind, tree_node*) /home/dcb/gcc/trunk/gcc/cp/method.c:2428 0x97fac4 get_class_binding(tree_node*, tree_node*, bool) /home/dcb/gcc/trunk/gcc/cp/name-lookup.c:1286 0xa489cf lookup_field_r
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 ensadc at mailnesia dot com changed: What|Removed |Added CC||ensadc at mailnesia dot com --- Comment #1 from ensadc at mailnesia dot com --- Reduced: template struct basic_mixin { basic_mixin() requires true; }; struct mixin : basic_mixin { using basic_mixin::basic_mixin; }; auto test() { noexcept(mixin()); }
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Richard Biener changed: What|Removed |Added Priority|P3 |P1
[Bug c++/91930] [10 Regression] internal compiler error: in lazily_declare_fn, at cp/method.c:2423 with -fconcepts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91930 Marek Polacek changed: What|Removed |Added Keywords||ice-on-valid-code Target Milestone|--- |10.0