[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Dominique d'Humieres changed: What|Removed |Added Last reconfirmed||2021-01-02 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #1 from Dominique d'Humieres --- Confirmed from at least GCC7 up to GCC11.
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #2 from Martin Liška --- Yes, GCC 4.8.0 is also affected.
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Paul Thomas changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |pault at gcc dot gnu.org CC||pault at gcc dot gnu.org --- Comment #3 from Paul Thomas --- This is a case of a gcc_assert too many. Deleting the following cures the problem: if (ss_expr != expr) /* Elemental function. */ gcc_assert ((expr->value.function.esym != NULL && expr->value.function.esym->attr.elemental) || (expr->value.function.isym != NULL && expr->value.function.isym->elemental) || gfc_inline_intrinsic_function_p (expr)); else gcc_assert (ss_type == GFC_SS_INTRINSIC); The preceeding if statement, has if (ss_expr != expr || ss_type != GFC_SS_FUNCTION) so the second assert is redundant. I am disinclined to add any more clauses to the first :-) This change regtests OK. However adding: || (gfc_expr_attr (expr).proc_pointer && gfc_expr_attr (expr).elemental) does the job and regtests too. Paul
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Dominique d'Humieres changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 --- Comment #4 from CVS Commits --- The master branch has been updated by Paul Thomas : https://gcc.gnu.org/g:003f0414291d595d2126e6d2e24b281f38f3448f commit r11-6924-g003f0414291d595d2126e6d2e24b281f38f3448f Author: Paul Thomas Date: Wed Jan 27 09:12:16 2021 + Fortran: Fix ICE due to elemental procedure pointers [PR98472]. 2021-01-27 Paul Thomas gcc/fortran PR fortran/98472 * trans-array.c (gfc_conv_expr_descriptor): Include elemental procedure pointers in the assert under the comment 'elemental function' and eliminate the second, spurious assert. gcc/testsuite/ PR fortran/98472 * gfortran.dg/elemental_function_5.f90 : New test.
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Andrew Pinski changed: What|Removed |Added CC||ffadrique at gmail dot com --- Comment #8 from Andrew Pinski --- *** Bug 103957 has been marked as a duplicate of this bug. ***
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 --- Comment #5 from CVS Commits --- The releases/gcc-10 branch has been updated by Harald Anlauf : https://gcc.gnu.org/g:0a79a5457a1a982dd05b8ae33e1320d040a20ccd commit r10-10107-g0a79a5457a1a982dd05b8ae33e1320d040a20ccd Author: Paul Thomas Date: Wed Jan 27 09:12:16 2021 + Fortran: Fix ICE due to elemental procedure pointers [PR98472]. 2021-01-27 Paul Thomas gcc/fortran PR fortran/98472 * trans-array.c (gfc_conv_expr_descriptor): Include elemental procedure pointers in the assert under the comment 'elemental function' and eliminate the second, spurious assert. gcc/testsuite/ PR fortran/98472 * gfortran.dg/elemental_function_5.f90 : New test. (cherry picked from commit 003f0414291d595d2126e6d2e24b281f38f3448f)
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 --- Comment #6 from CVS Commits --- The releases/gcc-9 branch has been updated by Harald Anlauf : https://gcc.gnu.org/g:c101105e7852a940f967137f6b9e0a97d7f2c3c3 commit r9-9719-gc101105e7852a940f967137f6b9e0a97d7f2c3c3 Author: Paul Thomas Date: Wed Jan 27 09:12:16 2021 + Fortran: Fix ICE due to elemental procedure pointers [PR98472]. 2021-01-27 Paul Thomas gcc/fortran PR fortran/98472 * trans-array.c (gfc_conv_expr_descriptor): Include elemental procedure pointers in the assert under the comment 'elemental function' and eliminate the second, spurious assert. gcc/testsuite/ PR fortran/98472 * gfortran.dg/elemental_function_5.f90 : New test. (cherry picked from commit 003f0414291d595d2126e6d2e24b281f38f3448f)
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 anlauf at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED CC||anlauf at gcc dot gnu.org --- Comment #7 from anlauf at gcc dot gnu.org --- Backported to remaining open branches after verifying that it works. Closing. Thanks to everybody involved!
[Bug fortran/98472] internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:7352
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98472 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |9.5