This causes several failures with -m32 (see
http://gcc.gnu.org/ml/gcc-regression/2014-05/msg00003.html):
FAIL: gfortran.dg/coarray_lib_this_image_1.f90 -O scan-tree-dump-times
original "bar \\(real\\(kind=4\\)\\[2\\] \\* restrict x, void \\* restrict
caf_token.., integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_lib_this_image_1.f90 -O scan-tree-dump-times
original "myucobound = \\(integer\\(kind=4\\)\\) \\(\\(\\(unsigned int\\)
parm...dim\\[1\\].lbound \\+ \\(unsigned int\\) _gfortran_caf_num_images \\(0,
-1\\)\\) \\+ 4294967295\\);" 1
FAIL: gfortran.dg/coarray_lib_this_image_2.f90 -O scan-tree-dump-times
original "bar \\(&parm.[0-9]+, caf_token.[0-9]+, \\(integer\\(kind=8\\)\\)
parm.[0-9]+.data - \\(integer\\(kind=8\\)\\) x\\);" 1
FAIL: gfortran.dg/coarray_lib_this_image_2.f90 -O scan-tree-dump-times
original "bar \\(struct array1_real\\(kind=4\\) & restrict x, void \\* restrict
caf_token.., integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_lib_this_image_2.f90 -O scan-tree-dump-times
original "mylbound = parm...dim\\[0\\].stride >= 0 && parm...dim\\[0\\].ubound
>= parm...dim\\[0\\].lbound \\|\\| parm...dim\\[0\\].stride < 0 \\?
\\(integer\\(kind=4\\)\\) parm...dim\\[0\\].lbound : 1;" 1
FAIL: gfortran.dg/coarray_lib_this_image_2.f90 -O scan-tree-dump-times
original "myucobound = \\(integer\\(kind=4\\)\\) \\(\\(\\(unsigned int\\)
parm...dim\\[1\\].lbound \\+ \\(unsigned int\\) _gfortran_caf_num_images \\(0,
-1\\)\\) \\+ 4294967295\\);" 1
FAIL: gfortran.dg/coarray_poly_6.f90 -O scan-tree-dump-times original "bar
\\(struct __class_MAIN___T_0_1t \\* x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_poly_6.f90 -O scan-tree-dump-times original "foo
\\(&class.., y._data._data.token, \\(integer\\(kind=8\\)\\) class..._data.data
- \\(integer\\(kind=8\\)\\) y._data._data.data\\);" 1
FAIL: gfortran.dg/coarray_poly_6.f90 -O scan-tree-dump-times original "foo
\\(struct __class_MAIN___T_0_1t & restrict x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_poly_7.f90 -O scan-tree-dump-times original "bar
\\(struct __class_MAIN___T_1_1t \\* x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_poly_7.f90 -O scan-tree-dump-times original "foo
\\(&class.., y._data._data.token, \\(integer\\(kind=8\\)\\) class..._data.data
- \\(integer\\(kind=8\\)\\) y._data._data.data\\);" 1
FAIL: gfortran.dg/coarray_poly_7.f90 -O scan-tree-dump-times original "foo
\\(struct __class_MAIN___T_1_1t & restrict x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_poly_8.f90 -O scan-tree-dump-times original "bar
\\(struct __class_MAIN___T_1_1t \\* x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
FAIL: gfortran.dg/coarray_poly_8.f90 -O scan-tree-dump-times original "foo
\\(&class.., y._data._data.token, \\(integer\\(kind=8\\)\\) class..._data.data
- \\(integer\\(kind=8\\)\\) y._data._data.data\\);" 1
FAIL: gfortran.dg/coarray_poly_8.f90 -O scan-tree-dump-times original "foo
\\(struct __class_MAIN___T_1_1t & restrict x, void \\* restrict caf_token..,
integer\\(kind=8\\) caf_offset..\\)" 1
Most of the failures are fixed by replacing 'kind=8' with 'kind=.' or
'kind=\[48\]'.
The remaining failures in gfortran.dg/coarray_lib_this_image_*.f90 are fixed by
the following patches
--- ../_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90
2014-04-30 21:41:33.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90 2014-05-01
10:37:26.000000000 +0200
@@ -16,10 +16,10 @@ contains
end subroutine bar
end
-! { dg-final { scan-tree-dump-times "bar \\(real\\(kind=4\\)\\\[2\\\] \\*
restrict x, void \\* restrict caf_token.., integer\\(kind=8\\) caf_offset..\\)"
1 "original" } }
+! { dg-final { scan-tree-dump-times "bar \\(real\\(kind=4\\)\\\[2\\\] \\*
restrict x, void \\* restrict caf_token.., integer\\(kind=\[48\]\\)
caf_offset..\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylcobound = 5;" 1 "original" } }
-! { dg.final { scan-tree-dump-times "parm...dim\\\[1\\\].lbound = 5;" 1
"original" } }
-! { dg-final { scan-tree-dump-times "myucobound = \\(integer\\(kind=4\\)\\)
\\(\\(\\(unsigned int\\) parm...dim\\\[1\\\].lbound \\+ \\(unsigned int\\)
_gfortran_caf_num_images \\(0, -1\\)\\) \\+ 4294967295\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "parm...dim\\\[1\\\].lbound = 5;" 1
"original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]*
parm...dim\\\[1\\\].lbound \\+ \[^\n\r]*_gfortran_caf_num_images \\(0, -1\\).?
\\+ -?\[0-9\]+\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylbound = 1;" 1 "original" } }
! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image
\\(0\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "bar \\(x, caf_token.., 0\\);" 1
"original" } }
--- ../_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90
2014-04-30 21:41:32.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90 2014-05-01
10:33:28.000000000 +0200
@@ -16,12 +16,12 @@ contains
end subroutine bar
end
-! { dg-final { scan-tree-dump-times "bar \\(struct array1_real\\(kind=4\\) &
restrict x, void \\* restrict caf_token.., integer\\(kind=8\\) caf_offset..\\)"
1 "original" } }
+! { dg-final { scan-tree-dump-times "bar \\(struct array1_real\\(kind=4\\) &
restrict x, void \\* restrict caf_token.., integer\\(kind=\[48\]\\)
caf_offset..\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylcobound = 5;" 1 "original" } }
! { dg-final { scan-tree-dump-times "parm...dim\\\[1\\\].lbound = 5;" 1
"original" } }
-! { dg-final { scan-tree-dump-times "myucobound = \\(integer\\(kind=4\\)\\)
\\(\\(\\(unsigned int\\) parm...dim\\\[1\\\].lbound \\+ \\(unsigned int\\)
_gfortran_caf_num_images \\(0, -1\\)\\) \\+ 4294967295\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "mylbound = parm...dim\\\[0\\\].stride >=
0 && parm...dim\\\[0\\\].ubound >= parm...dim\\\[0\\\].lbound \\|\\|
parm...dim\\\[0\\\].stride < 0 \\? \\(integer\\(kind=4\\)\\)
parm...dim\\\[0\\\].lbound : 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]*
parm...dim\\\[1\\\].lbound \\+ \[^\n\r\]*_gfortran_caf_num_images \\(0, -1\\).?
\\+ -?\[0-9\]+\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "mylbound = parm...dim\\\[0\\\].stride >=
0 && parm...dim\\\[0\\\].ubound >= parm...dim\\\[0\\\].lbound \\|\\|
parm...dim\\\[0\\\].stride < 0 \\?\[^\n\r\]* parm...dim\\\[0\\\].lbound : 1;" 1
"original" } }
! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image
\\(0\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+,
caf_token.\[0-9\]+, \\(integer\\(kind=8\\)\\) parm.\[0-9\]+.data -
\\(integer\\(kind=8\\)\\) x\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+,
caf_token.\[0-9\]+, \\(integer\\(kind=\[48\]\\)\\) parm.\[0-9\]+.data -
\\(integer\\(kind=\[48\]\\)\\) x\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_init \\(&argc, &argv\\);" 1
"original" } }
! { dg-final { cleanup-tree-dump "original" } }
Dominique