This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]