Hi Dominique and Rainer,

First of all thanks for testing!

Hi Dominique, Nicolas,

I have applied your patch on top of revision r261130 on
x86_64-apple-darwin17 (SSD with APFS file system).

I've tried it on i386-pc-solaris2.11 and sparc-sun-solaris2.11.

I also see two regressions

FAIL: gfortran.dg/f2003_inquire_1.f03   -O1  execution test

only with -m32 and -O1 (STOP 5), and

It fails for me at -O[0s] (i386) resp. -O[01] (sparc), 64-bit only.

This seems to be a bug in the test suite. It tries to find out whether an id is pending that is never initialized.


FAIL: gfortran.dg/f2003_io_1.f03   -O*

with both -m32 and -m64 (STOP 1).

Same here: FAILs at -O[0-3s] for both 32 and 64-bit.

And another bug in the test suite. This time the wait after the read is missing.


The is also typos for the added tests

s/libgfomp/libgomp/

Will fix.


Why do the tests start at asynchronous_6.f90?

Because they were originally intended for the gfortran test suite, but I couldn't run it there because of libpthread. I will change the numbering scheme.


... and asynchronous_9.f90 is missing from the ChangeLog, which
..._7.f90 is missing from the sequence.


asynchronous_7.f90 is a test for an error, but dg-shouldfail is not working in libgomp. Dominique is looking into this.

Besides, I see

+FAIL: libgomp.fortran/asynchronous_6.f90   -O1  execution test

STOP 2

32-bit i386 only.


I have trouble replicating this bug even with -m32. Could you get some more debugging info for the test on your machine?

+FAIL: libgomp.fortran/asynchronous_9.f90   -O  execution test

32 and 64-bit i386 and sparc, no error message.


This file wasn't supposed to be a test case, that's why it is not in the ChangeLog. It is a benchmark program, so it takes some time. Maybe a time out? Could you maybe try running it outside the test suite?

        Rainer


Dominique wrote:
> "Treat asynchronous variables the same as volatile, for now." could probably simplified as
> "Treat asynchronous variables as volatile, for now."

Will do.

>
> I also wonder if
>
> +    wrap_scalar_transfer (dtp, BT_INTEGER, p, kind, kind, 1);
>
> is correct without a cast to size_t for the last two arguments (and for the last argument in other instances). Note that I am C challenged, so forgive the question if it is stupid.

It atomatically casts based on the type information in the prototype in io.h.

>
> Thanks for the nice work.

With pleasure! :)

>
> Dominique

Reply via email to