This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
gfortran.dg/coarray/event_3.f08 test
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Fortran List <fortran at gcc dot gnu dot org>
- Cc: vehre at gcc dot gnu dot org
- Date: Fri, 18 Jan 2019 09:06:17 +0100
- Subject: gfortran.dg/coarray/event_3.f08 test
Hello!
I was looking into a runtime failure of
gfortran.dg/coarray/event_3.f08 test, which fails on alpha-linux-gnu
targets. The findings were summarised in PR70696 [1], and it looks
that the testcase depends on an unitialized load from the stack frame.
__attribute__((externally_visible))
main (integer(kind=4) argc, character(kind=1) * * argv)
{
struct FRAME.global_event FRAME.1;
static integer(kind=4) options.0[7] = {2116, 4095, 0, 1, 1, 0, 31};
integer(kind=4) _8;
<bb 2> [local count: 1073741824]:
_gfortran_set_args (argc_2(D), argv_3(D));
_gfortran_set_options (7, &options.0[0]);
_8 = FRAME.1.x;
if (_8 != 0)
goto <bb 3>; [0.04%]
else
goto <bb 4>; [99.96%]
<bb 3> [local count: 429497]:
_gfortran_error_stop_numeric (1, 0);
<bb 4> [local count: 1073312328]:
return 0;
}
x86_64 optimizers are able to fix up uninitialized load during
init-regs RTL pass, but it remains for alpha. So, I'd like to ask,
what is this testcase supposed to test?
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70696#c17
BR,
Uros.