[fortran-dev] Merge the trunk into the branch

Dominique Dhumieres dominiq@lps.ens.fr
Wed May 21 16:19:00 GMT 2014


I have posted the results of the tests at
https://gcc.gnu.org/ml/gcc-testresults/2014-05/msg01816.html

The tests gfortran.dg/iso-ts-29113_(1|3).f90 fail because
the file ISO_Fortran_binding.h is not found.
It is present as
/build_dir/platform/libgfortran/ISO_Fortran_binding.h or
/build_dir/platform/i386/libgfortran/ISO_Fortran_binding.h.
and there are small differences between the two files.
In addition these files are not installed in the install
directory.

Some scan failures are fixed by the following patch. I could have fixed
other failures due to *.data being replaced with *.base_addr, but
before doing it, I'ld like to check that it is the *right fix*.
Results with this patch is posted at
https://gcc.gnu.org/ml/gcc-testresults/2014-05/msg01849.html

Cheers,

Dominique

diff -up ../for_clean/gcc/testsuite/gfortran.dg/assumed_rank_12.f90 gcc/testsuite/gfortran.dg/assumed_rank_12.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/assumed_rank_12.f90	2013-04-30 12:41:43.000000000 +0200
+++ gcc/testsuite/gfortran.dg/assumed_rank_12.f90	2014-05-21 15:42:44.000000000 +0200
@@ -16,5 +16,5 @@ function f() result(res)
 end function f
 end
 
-! { dg-final { scan-tree-dump " = f \\(\\);.*desc.0.base_addr = .void .. D.\[0-9\]+;.*desc.0.elem_len = (20|32);.*desc.0.version = 1;.*desc.0.rank = 0;.*desc.0.type = 1025;.*desc.0.attribute = 1;.*sub \\(&desc.0\\);.*D.\[0-9\]+ = .integer.kind=4. .. desc.0.base_addr;" "original" } }
+! { dg-final { scan-tree-dump " = f \\(\\);.*desc.0.type = 1025;.*desc.0.base_addr = .void .. D.\[0-9\]+;.*desc.0.elem_len = (20|32);.*desc.0.version = 1;.*desc.0.rank = 0;.*desc.0.attribute = 1;.*sub \\(&desc.0\\);.*D.\[0-9\]+ = .integer.kind=4. .. desc.0.base_addr;" "original" } }
 ! { dg-final { cleanup-tree-dump "original" } }
Common subdirectories: ../for_clean/gcc/testsuite/gfortran.dg/coarray and gcc/testsuite/gfortran.dg/coarray
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_12.f90 gcc/testsuite/gfortran.dg/coarray_12.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_12.f90	2013-05-06 11:31:52.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_12.f90	2014-05-21 16:01:56.000000000 +0200
@@ -46,7 +46,7 @@ end subroutine testAlloc5
 
 
 ! { dg-final { scan-tree-dump-times "a.dim.0..lower_bound = 1;"     1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.0..extent = MAX_EXPR <.*nn, 0>;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "a.dim.0..extent = MAX_EXPR <.*nn.*, 0>;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "a.dim.1..lower_bound = 1;"     1 "original" } }
 ! { dg-final { scan-tree-dump-times "a.dim.1..extent = .*mm - a.dim.1..lower_bound. \\+ 1;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "a.dim.2..lower_bound = 1;"     1 "original" } }
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_alloc_2.f90 gcc/testsuite/gfortran.dg/coarray_lib_alloc_2.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_alloc_2.f90	2013-09-23 22:40:13.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_alloc_2.f90	2013-09-23 22:53:32.000000000 +0200
@@ -15,8 +15,8 @@
  deallocate(xx,yy,stat=stat, errmsg=errmsg)
  end
 
-! { dg-final { scan-tree-dump-times "_gfortran_caf_register .1, 1, &xx._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "_gfortran_caf_register .1, 1, &yy._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_register .(40|72), 1, &xx._data.token, &stat.., &errmsg, 200.;" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_register .(104|192), 1, &yy._data.token, &stat.., &errmsg, 200.;" "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&xx._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&yy._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&yy._data.token, 0B, 0B, 0.;" 1 "original" } }
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_alloc_3.f90 gcc/testsuite/gfortran.dg/coarray_lib_alloc_3.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_alloc_3.f90	2013-04-24 16:21:24.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_alloc_3.f90	2013-06-11 11:36:03.000000000 +0200
@@ -16,8 +16,8 @@ subroutine test
  deallocate(xx,yy,stat=stat, errmsg=errmsg)
  end
 
-! { dg-final { scan-tree-dump-times "_gfortran_caf_register .1, 1, &xx._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "_gfortran_caf_register .1, 1, &yy._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_register .(40|72), 1, &xx._data.token, &stat.., &errmsg, 200.;" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_register .(104|192), 1, &yy._data.token, &stat.., &errmsg, 200.;" "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&xx._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&yy._data.token, &stat.., &errmsg, 200.;" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_deregister .&yy._data.token, 0B, 0B, 0.;" 1 "original" } }
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90 gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90	2014-05-16 19:04:34.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90	2014-05-21 17:12:37.000000000 +0200
@@ -18,8 +18,8 @@ end
 
 ! { 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 =\[^\n\r\]* parm...dim\\\[1\\\].lbound \\+ \[^\n\r]*_gfortran_caf_num_images \\(0, -1\\).? \\+ -?\[0-9\]+\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "parm...dim\\\[1\\\].lower_bound = 5;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lower_bound \\+ \[^\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" } }
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90 gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90	2014-05-16 19:04:34.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90	2014-05-21 17:14:26.000000000 +0200
@@ -18,9 +18,9 @@ end
 
 ! { 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 =\[^\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 "parm...dim\\\[1\\\].lower_bound = 5;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lower_bound \\+ \[^\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\\\].lower_bound \\|\\| parm...dim\\\[0\\\].stride < 0 \\?\[^\n\r\]* parm...dim\\\[0\\\].lower_bound : 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=\[48\]\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=\[48\]\\)\\) x\\);" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "_gfortran_caf_init \\(&argc, &argv\\);" 1 "original" } }
diff -up ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90 gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90
--- ../for_clean/gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90	2014-05-16 19:04:34.000000000 +0200
+++ gcc/testsuite/gfortran.dg/coarray_lib_token_4.f90	2014-05-21 15:57:00.000000000 +0200
@@ -1,4 +1,4 @@
-: { dg-do compile }
+! { dg-do compile }
 ! { dg-options "-fcoarray=lib -fdump-tree-original" }
 !
 ! Check argument passing with assumed-shape coarray dummies
@@ -37,7 +37,7 @@ end program test_caf
 !
 ! { dg-final { scan-tree-dump-times "bar \\(struct array01_integer\\(kind=4\\) & restrict y, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+\\)" 1 "original" } }
 !
-! { dg-final { scan-tree-dump-times "foo \\(struct array01_integer\\(kind=4\\) & restrict x, struct array1_integer\\(kind=4\\) & restrict y, integer\\(kind=4\\) & restrict test, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "foo \\(struct array01_integer\\(kind=4\\) & restrict x, struct array01_integer\\(kind=4\\) & restrict y, integer\\(kind=4\\) & restrict test, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer\\(kind=.\\) caf_offset.\[0-9\]+\\)" 1 "original" } }
 !
 ! { dg-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)\\) parm.\[0-9\]+.base_addr - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 1 "original" } }
 !



More information about the Fortran mailing list