I have committed a fix for one link issue (spurious
GFC_DESCRIPTOR_STRIDE_BYTES which escaped the renaming to
GFC_DESCRIPTOR_SM) - and changed "data" to "base_addr" for consistency.
Rev. 185216.
Additionally, I modified some tree-dump patterns for the extent and for
the base_addr change.
Result: 192 FAIL lines in 23 test-suite files of which 3 also exist on
the trunk.
At some point, the extent calculation should be updated. Dumps like the
following hurt, even if -O1 handles* them:
(((D.1871->dim[0].lower_bound + D.1871->dim[0].extent) + -1) -
D.1871->dim[0].lower_bound) + 1.
[* maybe -fstrict-overflow and/or -fno-protect-parens is required in
addition]
Regarding transpose_optimization_2.f90: Here,
atmp.58.dim[0].lbound = 0;
atmp.58.dim[0].ubound = 2;
is replaced by
atmp.58.dim[0].lower_bound = 0;
atmp.58.dim[0].extent = 3 - atmp.58.dim[0].lower_bound;
which increased the number of "atmp" by 2 (for two dims). Also something
which could be solved in the front end as both lbound and ubound are
known at compile time.
Tobias
Index: libgfortran/ChangeLog.fortran-dev
===================================================================
--- libgfortran/ChangeLog.fortran-dev (revision 185199)
+++ libgfortran/ChangeLog.fortran-dev (working copy)
@@ -1,3 +1,8 @@
+2012-03-12 Tobias Burnus <bur...@net-b.de>
+
+ * intrinsics/iso_c_binding.c (c_f_pointer_u0): Use
+ GFC_DESCRIPTOR_SM instead of GFC_DESCRIPTOR_STRIDE_BYTES.
+
2012-03-11 Tobias Burnus <bur...@net-b.de>
* ISO_Fortran_binding.h (CFI_dim_t): Remove stride/ubound,
Index: libgfortran/intrinsics/iso_c_binding.c
===================================================================
--- libgfortran/intrinsics/iso_c_binding.c (revision 185197)
+++ libgfortran/intrinsics/iso_c_binding.c (working copy)
@@ -103,7 +103,7 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void *c_ptr
p = shape->base_addr;
size = GFC_DESCRIPTOR_SIZE(shape);
- source_stride = GFC_DESCRIPTOR_STRIDE_BYTES(shape,0);
+ source_stride = GFC_DESCRIPTOR_SM(shape,0);
/* shape's length (rank of the output array) */
shapeSize = GFC_DESCRIPTOR_EXTENT(shape,0);
Index: /home/tob/scratch/fortran-dev/gcc/fortran/trans-types.c
===================================================================
--- /home/tob/scratch/fortran-dev/gcc/fortran/trans-types.c (revision 185199)
+++ /home/tob/scratch/fortran-dev/gcc/fortran/trans-types.c (working copy)
@@ -1701,7 +1701,7 @@ gfc_get_array_descriptor_base (int dimen, int codi
/* Add the data member as the first element of the descriptor. */
decl = gfc_add_field_to_struct_1 (fat_type,
- get_identifier ("data"),
+ get_identifier ("base_addr"),
(restricted
? prvoid_type_node
: ptr_type_node), &chain);
Index: /home/tob/scratch/fortran-dev/gcc/fortran/ChangeLog.fortran-dev
===================================================================
--- /home/tob/scratch/fortran-dev/gcc/fortran/ChangeLog.fortran-dev (revision 185199)
+++ /home/tob/scratch/fortran-dev/gcc/fortran/ChangeLog.fortran-dev (working copy)
@@ -1,3 +1,8 @@
+2012-03-12 Tobias Burnus <bur...@net-b.de>
+
+ * trans-types.c (gfc_get_array_descriptor_base): Rename "data"
+ to "base_addr".
+
2012-03-11 Tobias Burnus <bur...@net-b.de>
* trans-array.c (UBOUND_SUBFIELD, STRIDE_SUBFIELD): Remove.
Index: gfortran.dg/transpose_optimization_2.f90
===================================================================
--- gfortran.dg/transpose_optimization_2.f90 (revision 185197)
+++ gfortran.dg/transpose_optimization_2.f90 (working copy)
@@ -60,7 +60,7 @@
!
! The check below for temporaries gave 14 and 33 for "parm" and "atmp".
!
-! { dg-final { scan-tree-dump-times "parm" 66 "original" } }
-! { dg-final { scan-tree-dump-times "atmp" 12 "original" } }
+! { dg-final { scan-tree-dump-times "parm" 78 "original" } }
+! { dg-final { scan-tree-dump-times "atmp" 14 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
! { dg-final { cleanup-modules "mod" } }
Index: gfortran.dg/contiguous_3.f90
===================================================================
--- gfortran.dg/contiguous_3.f90 (revision 185197)
+++ gfortran.dg/contiguous_3.f90 (working copy)
@@ -31,10 +31,10 @@
c2 = d2
end subroutine t2
-! { dg-final { scan-tree-dump-times "= a1->dim.0..stride;" 0 "original" } }
-! { dg-final { scan-tree-dump-times "= b1->dim.0..stride;" 0 "original" } }
-! { dg-final { scan-tree-dump-times "= c2->dim.0..stride;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "= d2->dim.0..stride;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "= a1->dim.0..sm" 0 "original" } }
+! { dg-final { scan-tree-dump-times "= b1->dim.0..sm" 0 "original" } }
+! { dg-final { scan-tree-dump-times "= c2->dim.0..sm /.fl. 4;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "= d2->dim.0..sm /.fl. 4;" 1 "original" } }
subroutine test3()
@@ -57,7 +57,7 @@
end subroutine test3
! Once for test1 (third call), once for test3 (second call)
-! { dg-final { scan-tree-dump-times "data = origptr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "base_addr = origptr" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_internal_pack .&parm" 2 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_internal_unpack .&parm" 2 "original" } }
Index: gfortran.dg/pr32921.f
===================================================================
--- gfortran.dg/pr32921.f (revision 185197)
+++ gfortran.dg/pr32921.f (working copy)
@@ -45,6 +45,6 @@
RETURN
END
-! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } }
+! { dg-final { scan-tree-dump-times "sm" 4 "lim1" } }
! { dg-final { cleanup-tree-dump "lim1" } }
! { dg-final { cleanup-modules "les3d_data" } }
Index: gfortran.dg/array_section_2.f90
===================================================================
--- gfortran.dg/array_section_2.f90 (revision 185197)
+++ gfortran.dg/array_section_2.f90 (working copy)
@@ -12,5 +12,5 @@
allocate(a(n), temp(n))
temp(1:size(a)) = a
end program
-! { dg-final { scan-tree-dump-times "MAX_EXPR\[^\n\t\]+ubound\[^\n\t\]+lbound" 1 "original" } }
+! { dg-final { scan-tree-dump-times "MAX_EXPR\[^\n\t\]+extent\[^\n\t\]+, 0" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
Index: gfortran.dg/coarray_12.f90
===================================================================
--- gfortran.dg/coarray_12.f90 (revision 185197)
+++ gfortran.dg/coarray_12.f90 (working copy)
@@ -45,33 +45,33 @@
end subroutine testAlloc5
-! { dg-final { scan-tree-dump-times "a.dim.0..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.0..ubound = .*nn;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.1..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.1..ubound = .*mm;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.2..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "a.dim.2..ubound" 0 "original" } }
+! { dg-final { scan-tree-dump-times "a.dim.0..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "a.dim.0..extent = .*nn - a.dim.0..lower_bound. \\+ 1;" 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" } }
+! { dg-final { scan-tree-dump-times "a.dim.2..extent" 0 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.0..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.0..ubound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.1..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.1..ubound = 7;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.2..lbound = -5;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.2..ubound = 8;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.3..lbound = .*mmm;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.3..ubound = 2;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.4..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "xxx.dim.4..ubound" 0 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.0..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.0..extent = 2 - xxx.dim.0..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.1..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.1..extent = 8 - xxx.dim.1..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.2..lower_bound = -5;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.2..extent = 9 - xxx.dim.2..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.3..lower_bound = .*mmm;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.3..extent = 3 - xxx.dim.3..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.4..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "xxx.dim.4..extent" 0 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.0..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.0..ubound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.1..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.1..ubound = 7;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.2..lbound = -5;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.2..ubound = .*ppp;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.3..lbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.3..ubound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.4..lbound = .*ooo;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "yyy.dim.4..ubound" 0 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.0..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.0..extent = 2 - yyy.dim.0..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.1..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.1..extent = 8 - yyy.dim.1..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.2..lower_bound = -5;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.2..extent = .*ppp - yyy.dim.2..lower_bound. \\+ 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.3..lower_bound = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.3..extent = 2 - yyy.dim.3..lower_bound;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.4..lower_bound = .*ooo;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "yyy.dim.4..extent" 0 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
Index: ChangeLog.fortran-dev
===================================================================
--- ChangeLog.fortran-dev (revision 0)
+++ ChangeLog.fortran-dev (working copy)
@@ -0,0 +1,7 @@
+2012-03-12 Tobias Burnus <bur...@net-b.de>
+
+ * gfortran.dg/coarray_12.f90: Update scan-tree-dump-times.
+ * gfortran.dg/contiguous_3.f90: Ditto.
+ * gfortran.dg/array_section_2.f90: Ditto.
+ * gfortran.dg/transpose_optimization_2.f90: Ditto.
+ * gfortran.dg/pr32921.f: Ditto.
Index: ChangeLog.fortran-dev
===================================================================
--- ChangeLog.fortran-dev (revision 185220)
+++ ChangeLog.fortran-dev (working copy)
@@ -1,5 +1,15 @@
2012-03-12 Tobias Burnus <bur...@net-b.de>
+ * assumed_type_2.f90: Change "data" to "base_addr" in
+ scan-tree-dump.
+ * block_2.f08: Ditto.
+ * coarray_lib_token_2.f90: Ditto.
+ * coarray_lib_token_3.f90: Ditto.
+ * coarray_lib_token_4.f90: Ditto.
+ * pr43984.f90: Ditto.
+
+2012-03-12 Tobias Burnus <bur...@net-b.de>
+
* gfortran.dg/coarray_12.f90: Update scan-tree-dump-times.
* gfortran.dg/contiguous_3.f90: Ditto.
* gfortran.dg/array_section_2.f90: Ditto.
Index: gfortran.dg/assumed_type_2.f90
===================================================================
--- gfortran.dg/assumed_type_2.f90 (revision 185197)
+++ gfortran.dg/assumed_type_2.f90 (working copy)
@@ -152,24 +152,24 @@
! { dg-final { scan-tree-dump-times "sub_scalar .&array_int.1.," 1 "original" } }
! { dg-final { scan-tree-dump-times "sub_scalar .&scalar_t1," 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(real.kind=4..0:. . restrict\\) array_real_alloc.data" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(character.kind=1..0:..1:1. .\\) array_char_ptr.data" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(struct t2.0:. . restrict\\) array_t2_alloc.data" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(struct t3.0:. .\\) array_t3_ptr.data" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_alloc._data.data" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_ptr._data.dat" 1 "original" } }a
+! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(real.kind=4..0:. . restrict\\) array_real_alloc.base_addr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(character.kind=1..0:..1:1. .\\) array_char_ptr.base_addr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(struct t2.0:. . restrict\\) array_t2_alloc.base_addr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_scalar .&\\(.\\(struct t3.0:. .\\) array_t3_ptr.base_addr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_alloc._data.base_addr" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_ptr._data.base_addr" 1 "original" } }a
! { dg-final { scan-tree-dump-times "sub_array_assumed \\(D" 2 "original" } }
! { dg-final { scan-tree-dump-times " = _gfortran_internal_pack \\(&parm" 1 "original" } }
! { dg-final { scan-tree-dump-times "sub_array_assumed \\(&array_int\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(real\\(kind=4\\).0:. . restrict\\) array_real_alloc.data" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(real\\(kind=4\\).0:. . restrict\\) array_real_alloc.base_addr" 1 "original" } }
! { dg-final { scan-tree-dump-times " = _gfortran_internal_pack \\(&array_char_ptr\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "\\.data = \\(void .\\) &array_t1.0.;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "\\.base_addr = \\(void .\\) &array_t1.0.;" 1 "original" } }
! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) parm" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t2.0:. . restrict\\) array_t2_alloc.data\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t3.0:. .\\) array_t3_ptr.data\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. . restrict\\) array_class_t1_alloc._data.data\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.data\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t2.0:. . restrict\\) array_t2_alloc.base_addr\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t3.0:. .\\) array_t3_ptr.base_addr\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. . restrict\\) array_class_t1_alloc._data.base_addr\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.base_addr\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "sub_array_shape \\(&array_real_alloc," 1 "original" } }
! { dg-final { scan-tree-dump-times "sub_array_shape \\(&array_char_ptr," 1 "original" } }
Index: gfortran.dg/pr43984.f90
===================================================================
--- gfortran.dg/pr43984.f90 (revision 185197)
+++ gfortran.dg/pr43984.f90 (working copy)
@@ -50,8 +50,8 @@
end
-! There should be three loads from iyz.data, not four.
+! There should be three loads from iyz.base_addr, not four.
-! { dg-final { scan-tree-dump-times "= iyz.data" 3 "pre" } }
+! { dg-final { scan-tree-dump-times "= iyz.base_addr" 3 "pre" } }
! { dg-final { cleanup-tree-dump "pre" } }
! { dg-final { cleanup-modules "test" } }
Index: gfortran.dg/coarray_lib_token_4.f90
===================================================================
--- gfortran.dg/coarray_lib_token_4.f90 (revision 185197)
+++ gfortran.dg/coarray_lib_token_4.f90 (working copy)
@@ -39,15 +39,15 @@
!
! { dg-final { scan-tree-dump-times "foo \\(struct array2_integer\\(kind=4\\) & restrict x, struct array2_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\]+.data - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 1 "original" } }
-! { d_g-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) x.\[0-9\]+\\) \\+ 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" } }
+! { d_g-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" } }
!
-! { dg-final { scan-tree-dump-times "expl \\(\\(integer\\(kind=4\\).0:. .\\) parm.\[0-9\]+.data, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(\\(integer\\(kind=.\\)\\) y.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 0 "original" } }
+! { dg-final { scan-tree-dump-times "expl \\(\\(integer\\(kind=4\\).0:. .\\) parm.\[0-9\]+.base_addr, caf_token.\[0-9\]+, \\(\\(integer\\(kind=.\\)\\) parm.\[0-9\]+.base_addr - \\(\\(integer\\(kind=.\\)\\) y.\[0-9\]+\\) \\+ caf_offset.\[0-9\]+\\);" 0 "original" } }
!
! { dg-final { scan-tree-dump-times "foo \\(&a, &a, &C.\[0-9\]+, a.token, 0, a.token, 0\\);" 1 "original" } }
!
-! { dg-final { scan-tree-dump-times "foo \\(&parm.\[0-9\]+, &parm.\[0-9\]+, &C.\[0-9\]+, a.token, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) a.data, caf_token.\[0-9\]+, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) b\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "foo \\(&parm.\[0-9\]+, &parm.\[0-9\]+, &C.\[0-9\]+, a.token, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.base_addr - \\(integer\\(kind=.\\)\\) a.base_addr, caf_token.\[0-9\]+, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.base_addr - \\(integer\\(kind=.\\)\\) b\\);" 1 "original" } }
!
-! { dg-final { scan-tree-dump-times "foo \\(&parm.\[0-9\]+, &a, &C.\[0-9\]+, caf_token.\[0-9\]+, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=.\\)\\) b, a.token, 0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "foo \\(&parm.\[0-9\]+, &a, &C.\[0-9\]+, caf_token.\[0-9\]+, \\(integer\\(kind=.\\)\\) parm.\[0-9\]+.base_addr - \\(integer\\(kind=.\\)\\) b, a.token, 0\\);" 1 "original" } }
!
! { dg-final { cleanup-tree-dump "original" } }
Index: gfortran.dg/block_2.f08
===================================================================
--- gfortran.dg/block_2.f08 (revision 185197)
+++ gfortran.dg/block_2.f08 (working copy)
@@ -35,5 +35,5 @@
IF (str /= "12345") CALL abort ()
END BLOCK
END PROGRAM main
-! { dg-final { scan-tree-dump-times "free \\(\\(void \\*\\) alloc_arr\\.data" 1 "original" } }
+! { dg-final { scan-tree-dump-times "free \\(\\(void \\*\\) alloc_arr\\.base_addr" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
Index: gfortran.dg/coarray_lib_token_3.f90
===================================================================
--- gfortran.dg/coarray_lib_token_3.f90 (revision 185197)
+++ gfortran.dg/coarray_lib_token_3.f90 (working copy)
@@ -8,6 +8,6 @@
allocate(CAF_SCALAR[*])
end
-! { dg-final { scan-tree-dump-times "caf.data = \\(void . restrict\\) _gfortran_caf_register \\(4, 1, &caf.token, 0B, 0B, 0\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "caf_scalar.data = \\(void . restrict\\) _gfortran_caf_register \\(4, 1, &caf_scalar.token, 0B, 0B, 0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "caf.base_addr = \\(void . restrict\\) _gfortran_caf_register \\(4, 1, &caf.token, 0B, 0B, 0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "caf_scalar.base_addr = \\(void . restrict\\) _gfortran_caf_register \\(4, 1, &caf_scalar.token, 0B, 0B, 0\\);" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
Index: gfortran.dg/coarray_lib_token_2.f90
===================================================================
--- gfortran.dg/coarray_lib_token_2.f90 (revision 185197)
+++ gfortran.dg/coarray_lib_token_2.f90 (working copy)
@@ -93,10 +93,10 @@
!
! CALL 1
!
-! sub ((integer(kind=4) *) caf.data, &((struct t * restrict) caf_dt.data)->b,
+! sub ((integer(kind=4) *) caf.base_addr, &((struct t * restrict) caf_dt.base_addr)->b,
! caf.token, 0, caf_dt.token, 4);
!
-! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf.data, &\[^,\]*caf_dt.data.->b, caf.token, 0, caf_dt.token, 4\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf.base_addr, &\[^,\]*caf_dt.base_addr.->b, caf.token, 0, caf_dt.token, 4\\)" 1 "original" } }
!
! sub2 ((integer(kind=4) *) x1, (integer(kind=4) *) x2,
! caf_token.4, NON_LVALUE_EXPR <caf_offset.5>,
@@ -110,7 +110,7 @@
!
! CALL 4
!
-! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf.data, caf.token, 0\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf.base_addr, caf.token, 0\\)" 1 "original" } }
!
! { dg-final { cleanup-tree-dump "original" } }
! { dg-final { cleanup-modules "matrix_data" } }