[r15-4104 Regression] FAIL: gfortran.dg/gomp/allocate-static.f90 -Os (test for excess errors) on Linux/x86_64

2024-10-07 Thread haochen.jiang via Gcc-regression
On Linux/x86_64,

a8caeaacf499d58ba7ceabc311b7b71ca806f740 is the first bad commit
commit a8caeaacf499d58ba7ceabc311b7b71ca806f740
Author: Tobias Burnus 
Date:   Mon Oct 7 10:45:14 2024 +0200

OpenMP: Allocate directive for static vars, clean up

caused

FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)

with GCC configured with

../../gcc/configure 
--prefix=/export/users/haochenj/src/gcc-bisect/master/master/r15-4104/usr 
--enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
--with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl 
--enable-libmpx x86_64-linux --disable-bootstrap

To reproduce:

$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="gomp.exp=gfortran.dg/gomp/allocate-static.f90 
--target_board='unix{-m32}'"
$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="gomp.exp=gfortran.dg/gomp/allocate-static.f90 
--target_board='unix{-m32\ -march=cascadelake}'"
$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="gomp.exp=gfortran.dg/gomp/allocate-static.f90 
--target_board='unix{-m64}'"
$ cd {build_dir}/gcc && make check 
RUNTESTFLAGS="gomp.exp=gfortran.dg/gomp/allocate-static.f90 
--target_board='unix{-m64\ -march=cascadelake}'"

(Please do not reply to this email, for question about this report, contact me 
at haochen dot jiang at intel.com.)
(If you met problems with cascadelake related, disabling AVX512F in command 
line might save that.)
(However, please make sure that there is no potential problems with AVX512.)


Re: [r15-4104 Regression] FAIL: gfortran.dg/gomp/allocate-static.f90 -Os (test for excess errors) on Linux/x86_64

2024-10-07 Thread Thomas Schwinge
Hi Tobias!

On 2024-10-07T17:07:05+0200, Tobias Burnus  wrote:
> haochen.jiang wrote:
>> On Linux/x86_64,
>> FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
>
> If anyone can reproduce this, I would be interested in the excess errors.

gfortran: fatal error: cannot read spec file 'libgomp.spec': No such file 
or directory

> On two machines – with and without offloading configured – I cannot 
> reproduce this neither with a bootsstrap nor non-bootstrap build, 
> neither with the testsuite nor under valgrind and also not with -m32 vs. 
> -m64.

Try again with build-tree (non-installed) testing.  ;-)

On 2024-10-07T10:47:56+0200, Tobias Burnus  wrote:
> --- /dev/null
> +++ b/gcc/testsuite/gfortran.dg/gomp/allocate-static.f90
> @@ -0,0 +1,62 @@
> +! { dg-do run }

Implicit linking here.

I already was about to 'git mv' the file into
'libgomp/testsuite/libgomp.fortran/' -- but then realized that we
probably also should get rid of this local 'module omp_lib_kinds':

> +module omp_lib_kinds
> +  use iso_c_binding, only: c_int, c_intptr_t
> +  implicit none
> +  private :: c_int, c_intptr_t
> +  integer, parameter :: omp_allocator_handle_kind = c_intptr_t
> +
> +  integer (kind=omp_allocator_handle_kind), &
> + parameter :: omp_null_allocator = 0
> +  [...]
> +end module

..., right?

> +[...]


Grüße
 Thomas


Regressions on master at commit r15-4105 vs commit r15-4092 on Linux/x86_64

2024-10-07 Thread Haochen Jiang via Gcc-regression
Regressions on master at commit r15-4105 vs commit r15-4092 on Linux/x86_64
New failures:
FAIL: gcc.dg/torture/convert-dfp-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/convert-dfp.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)

New passes:


Regressions on master at commit r15-4105 vs commit r15-4092 on Linux/i686

2024-10-07 Thread Haochen Jiang via Gcc-regression
Regressions on master at commit r15-4105 vs commit r15-4092 on Linux/i686
New failures:
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)

New passes:


Regressions on master at commit r15-4116 vs commit r15-4105 on Linux/x86_64

2024-10-07 Thread Haochen Jiang via Gcc-regression
Regressions on master at commit r15-4116 vs commit r15-4105 on Linux/x86_64
New failures:

New passes:
FAIL: gcc.dg/torture/convert-dfp-2.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/convert-dfp.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  (test for excess errors)


Regressions on native/master at commit r15-4105 vs commit r15-4092 on Linux/x86_64

2024-10-07 Thread Haochen Jiang via Gcc-regression
Regressions on master at commit r15-4105 vs commit r15-4092 on Linux/x86_64
New failures:
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O1  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O2  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -O3 -g  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)
FAIL: gfortran.dg/gomp/allocate-static.f90   -Os  (test for excess errors)

New passes:


Re: [r15-4104 Regression] FAIL: gfortran.dg/gomp/allocate-static.f90 -Os (test for excess errors) on Linux/x86_64

2024-10-07 Thread Tobias Burnus

haochen.jiang wrote:

On Linux/x86_64,
FAIL: gfortran.dg/gomp/allocate-static.f90   -O0  (test for excess errors)


If anyone can reproduce this, I would be interested in the excess errors.

On two machines – with and without offloading configured – I cannot 
reproduce this neither with a bootsstrap nor non-bootstrap build, 
neither with the testsuite nor under valgrind and also not with -m32 vs. 
-m64.


Tobias



[committed] Move gfortran.dg/gomp/allocate-static.f90 to libgomp.fortran/ (was: [r15-4104 Regression] FAIL: gfortran.dg/gomp/allocate-static.f90 -Os (test for excess errors) on Linux/x86_64)

2024-10-07 Thread Tobias Burnus

Committed as r15-4127-gb95ad25f9c9376

Hi Thomas,

Thomas Schwinge wrote:

On 2024-10-07T17:07:05+0200, Tobias Burnus  wrote:

If anyone can reproduce this, I would be interested in the excess errors.

 gfortran: fatal error: cannot read spec file 'libgomp.spec': No such file 
or directory


Aha. Thanks! — I am in principle aware of it, but tend to forget it from 
time to time, especially when only later turning a compile-time test 
into a runtime one …


In principle, a compile-time only check would enough (as with the C 
testcase) if the alignment were visible in the dump.


(It is, kind of, with C/C++, using alignof; but for Fortran it isn't. On 
the other hand, checking it at runtime ensures that it really works.)



I already was about to 'git mv' the file into
'libgomp/testsuite/libgomp.fortran/' -- but then realized that we
probably also should get rid of this local 'module omp_lib_kinds':


Yes, if 'omp_lib_kinds.mod' is available, there is no point to define it 
locally.


Tobias
commit b95ad25f9c9376575dcde4bcb529d3ca31b27359
Author: Tobias Burnus 
Date:   Mon Oct 7 23:57:42 2024 +0200

Move gfortran.dg/gomp/allocate-static.f90 to libgomp.fortran/

The testcase was turned into a 'dg-do run' check to check for the alignment,
but this only works in testsuite/gfortran.dg, causing link errors for
out-of-tree testing. The test was added in r15-4104-ga8caeaacf499d5.

gcc/testsuite/:

* gfortran.dg/gomp/allocate-static.f90: Move to libgomp/testsuite/.

libgomp/:

* testsuite/libgomp.fortran/allocate-static.f90: Moved from
gcc/testsuite/ as it is a dg-do run test; use real omp_lib_kinds
instead of local definition
---
 .../testsuite/libgomp.fortran}/allocate-static.f90 | 28 --
 1 file changed, 28 deletions(-)

diff --git a/gcc/testsuite/gfortran.dg/gomp/allocate-static.f90 b/libgomp/testsuite/libgomp.fortran/allocate-static.f90
similarity index 50%
rename from gcc/testsuite/gfortran.dg/gomp/allocate-static.f90
rename to libgomp/testsuite/libgomp.fortran/allocate-static.f90
index e43dae5793f..2789e39e19b 100644
--- a/gcc/testsuite/gfortran.dg/gomp/allocate-static.f90
+++ b/libgomp/testsuite/libgomp.fortran/allocate-static.f90
@@ -1,31 +1,3 @@
-! { dg-do run }
-
-module omp_lib_kinds
-  use iso_c_binding, only: c_int, c_intptr_t
-  implicit none
-  private :: c_int, c_intptr_t
-  integer, parameter :: omp_allocator_handle_kind = c_intptr_t
-
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_null_allocator = 0
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_default_mem_alloc = 1
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_large_cap_mem_alloc = 2
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_const_mem_alloc = 3
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_high_bw_mem_alloc = 4
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_low_lat_mem_alloc = 5
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_cgroup_mem_alloc = 6
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_pteam_mem_alloc = 7
-  integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_thread_mem_alloc = 8
-end module
-
 module m
   use iso_c_binding, only: c_intptr_t
   use omp_lib_kinds, only: omp_default_mem_alloc