[Bug c++/88122] [9 Regression] g++ ICE: internal compiler error: Segmentation fault
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 21 14:46:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88122
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-11-21
CC| |jason at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This ICEs in maybe_explain_implicit_delete.
If the computation of const_p is correct (and it is ok we often compute it e.g.
from parm_type that is void_type for the argument termination), then
--- cp/method.c.jj 2018-11-16 10:22:18.668258171 +0100
+++ cp/method.c 2018-11-21 15:42:08.441785625 +0100
@@ -1821,8 +1821,12 @@ maybe_explain_implicit_delete (tree decl
if (!informed)
{
tree parms = FUNCTION_FIRST_USER_PARMTYPE (decl);
- tree parm_type = TREE_VALUE (parms);
- bool const_p = CP_TYPE_CONST_P (non_reference (parm_type));
+ bool const_p = false;
+ if (parms)
+ {
+ tree parm_type = TREE_VALUE (parms);
+ const_p = CP_TYPE_CONST_P (non_reference (parm_type));
+ }
tree raises = NULL_TREE;
bool deleted_p = false;
tree scope = push_scope (ctype);
will do the job. But I somehow think that const_p should be rather computed
from the this parameter if any, though of course that is just a wild guess.
Jason?
More information about the Gcc-bugs
mailing list