[Bug fortran/92113] [8 regression] r276673 causes segfault in gfortran.dg/pr51434.f90
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Oct 19 16:34:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92113
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |koenigni at gcc dot gnu.org,
| |segher at gcc dot gnu.org
--- Comment #2 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
It is not clear to me what is going on here.
I have spent quite some time trying to find the revision
which fixed the bug for gcc 9 and gcc 10, without success;
I am getting contradictory results when I try to bisect.
Bisecting with trunk led to failures up to recent revisions,
compiling the compiler again led to something which now works (??).
The only thing I can find is, if I revert the patch on current gcc 8,
I get a diff with -fdump-tree-optimized-uid
--- ARTIFICIAL/pr51434.f90.232t.optimized 2019-10-19 16:06:31.580900454
+0000
+++ READONLY/pr51434.f90.232t.optimized 2019-10-19 16:06:23.961105008 +0000
@@ -18,7 +18,7 @@
{
unsigned long ivtmp.25D.2274;
unsigned long ivtmp.20D.2269;
- static struct a cD.2212 = {.mD.2189=5, .tD.2191={"a", "b", "c", "d", "e", "
", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}};
+ static struct a cD.2212;
static integer(kind=4)D.3 options.3D.2226[7] = {68, 8191, 0, 1, 1, 0, 31};
character(kind=1)D.17 pretmp_6;
character(kind=1)D.17 pretmp_14
which certainly looks very suspicious.
The fact that this seems to depend on random (?) circumstances, and
depend on optimization levels, may point to a problem with
declaring different variables for the same thing, this time with
an initializer. However, I am not sure how to debug this...
More information about the Gcc-bugs
mailing list