libgfortran.h (GFC_DTYPE_COPY): New macro.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 7 Jan 2018 14:11:11 +0000 (14:11 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 7 Jan 2018 14:11:11 +0000 (14:11 +0000)
2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

* libgfortran.h (GFC_DTYPE_COPY): New macro.
(GFC_DTYPE_COPY_SETRANK): New macro.
(GFC_DTYPE_IS_UNSET): New macro.
* intrinsics/cshift0.c (cshift0): Use new macros.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* intrinsics/move_alloc.c (move_alloc): Likewise.
* intrinsics/reshape_generic.c (reshape_internal): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
* intrinsics/spread_generic.c (spread_scalar): Likewise.
* intrinsics/spread_generic.c (spread_char_scalar): Likewise.
* intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
* intrinsics/unpack_generic.c (unpack0): Likewise.
* intrinsics/unpack_generic.c (unpack0_char): Likewise.
* intrinsics/unpack_generic.c (unpack0_char4): Likewise.
* m4/cshift1.m4 (cshift1): Likewise.
* m4/eoshift1.m4 (eoshift1): Likewise.
* m4/eoshift3.m4 (eoshift3): Likewise.
* m4/iforeach-s.m4: Likewise.
* m4/iforeach.m4: Likewise.
* m4/ifunction-s.m4: Likewise.
* m4/ifunction-s2.m4: Likewise.
* m4/ifunction.m4: Likewise.
* m4/ifunction_logical.m4: Likewise.
* m4/reshape.m4: Likewise.
* m4/spread.m4: Likewise.
* generated/all_l1.c : Regenerated.
* generated/all_l16.c : Regenerated.
* generated/all_l2.c : Regenerated.
* generated/all_l4.c : Regenerated.
* generated/all_l8.c : Regenerated.
* generated/any_l1.c : Regenerated.
* generated/any_l16.c : Regenerated.
* generated/any_l2.c : Regenerated.
* generated/any_l4.c : Regenerated.
* generated/any_l8.c : Regenerated.
* generated/count_16_l.c : Regenerated.
* generated/count_1_l.c : Regenerated.
* generated/count_2_l.c : Regenerated.
* generated/count_4_l.c : Regenerated.
* generated/count_8_l.c : Regenerated.
* generated/cshift1_16.c : Regenerated.
* generated/cshift1_4.c : Regenerated.
* generated/cshift1_8.c : Regenerated.
* generated/eoshift1_16.c : Regenerated.
* generated/eoshift1_4.c : Regenerated.
* generated/eoshift1_8.c : Regenerated.
* generated/eoshift3_16.c : Regenerated.
* generated/eoshift3_4.c : Regenerated.
* generated/eoshift3_8.c : Regenerated.
* generated/iall_i1.c : Regenerated.
* generated/iall_i16.c : Regenerated.
* generated/iall_i2.c : Regenerated.
* generated/iall_i4.c : Regenerated.
* generated/iall_i8.c : Regenerated.
* generated/iany_i1.c : Regenerated.
* generated/iany_i16.c : Regenerated.
* generated/iany_i2.c : Regenerated.
* generated/iany_i4.c : Regenerated.
* generated/iany_i8.c : Regenerated.
* generated/iparity_i1.c : Regenerated.
* generated/iparity_i16.c : Regenerated.
* generated/iparity_i2.c : Regenerated.
* generated/iparity_i4.c : Regenerated.
* generated/iparity_i8.c : Regenerated.
* generated/maxloc0_16_i1.c : Regenerated.
* generated/maxloc0_16_i16.c : Regenerated.
* generated/maxloc0_16_i2.c : Regenerated.
* generated/maxloc0_16_i4.c : Regenerated.
* generated/maxloc0_16_i8.c : Regenerated.
* generated/maxloc0_16_r10.c : Regenerated.
* generated/maxloc0_16_r16.c : Regenerated.
* generated/maxloc0_16_r4.c : Regenerated.
* generated/maxloc0_16_r8.c : Regenerated.
* generated/maxloc0_16_s1.c : Regenerated.
* generated/maxloc0_16_s4.c : Regenerated.
* generated/maxloc0_4_i1.c : Regenerated.
* generated/maxloc0_4_i16.c : Regenerated.
* generated/maxloc0_4_i2.c : Regenerated.
* generated/maxloc0_4_i4.c : Regenerated.
* generated/maxloc0_4_i8.c : Regenerated.
* generated/maxloc0_4_r10.c : Regenerated.
* generated/maxloc0_4_r16.c : Regenerated.
* generated/maxloc0_4_r4.c : Regenerated.
* generated/maxloc0_4_r8.c : Regenerated.
* generated/maxloc0_4_s1.c : Regenerated.
* generated/maxloc0_4_s4.c : Regenerated.
* generated/maxloc0_8_i1.c : Regenerated.
* generated/maxloc0_8_i16.c : Regenerated.
* generated/maxloc0_8_i2.c : Regenerated.
* generated/maxloc0_8_i4.c : Regenerated.
* generated/maxloc0_8_i8.c : Regenerated.
* generated/maxloc0_8_r10.c : Regenerated.
* generated/maxloc0_8_r16.c : Regenerated.
* generated/maxloc0_8_r4.c : Regenerated.
* generated/maxloc0_8_r8.c : Regenerated.
* generated/maxloc0_8_s1.c : Regenerated.
* generated/maxloc0_8_s4.c : Regenerated.
* generated/maxloc1_16_i1.c : Regenerated.
* generated/maxloc1_16_i16.c : Regenerated.
* generated/maxloc1_16_i2.c : Regenerated.
* generated/maxloc1_16_i4.c : Regenerated.
* generated/maxloc1_16_i8.c : Regenerated.
* generated/maxloc1_16_r10.c : Regenerated.
* generated/maxloc1_16_r16.c : Regenerated.
* generated/maxloc1_16_r4.c : Regenerated.
* generated/maxloc1_16_r8.c : Regenerated.
* generated/maxloc1_16_s1.c : Regenerated.
* generated/maxloc1_16_s4.c : Regenerated.
* generated/maxloc1_4_i1.c : Regenerated.
* generated/maxloc1_4_i16.c : Regenerated.
* generated/maxloc1_4_i2.c : Regenerated.
* generated/maxloc1_4_i4.c : Regenerated.
* generated/maxloc1_4_i8.c : Regenerated.
* generated/maxloc1_4_r10.c : Regenerated.
* generated/maxloc1_4_r16.c : Regenerated.
* generated/maxloc1_4_r4.c : Regenerated.
* generated/maxloc1_4_r8.c : Regenerated.
* generated/maxloc1_4_s1.c : Regenerated.
* generated/maxloc1_4_s4.c : Regenerated.
* generated/maxloc1_8_i1.c : Regenerated.
* generated/maxloc1_8_i16.c : Regenerated.
* generated/maxloc1_8_i2.c : Regenerated.
* generated/maxloc1_8_i4.c : Regenerated.
* generated/maxloc1_8_i8.c : Regenerated.
* generated/maxloc1_8_r10.c : Regenerated.
* generated/maxloc1_8_r16.c : Regenerated.
* generated/maxloc1_8_r4.c : Regenerated.
* generated/maxloc1_8_r8.c : Regenerated.
* generated/maxloc1_8_s1.c : Regenerated.
* generated/maxloc1_8_s4.c : Regenerated.
* generated/maxval1_s1.c : Regenerated.
* generated/maxval1_s4.c : Regenerated.
* generated/maxval_i1.c : Regenerated.
* generated/maxval_i16.c : Regenerated.
* generated/maxval_i2.c : Regenerated.
* generated/maxval_i4.c : Regenerated.
* generated/maxval_i8.c : Regenerated.
* generated/maxval_r10.c : Regenerated.
* generated/maxval_r16.c : Regenerated.
* generated/maxval_r4.c : Regenerated.
* generated/maxval_r8.c : Regenerated.
* generated/minloc0_16_i1.c : Regenerated.
* generated/minloc0_16_i16.c : Regenerated.
* generated/minloc0_16_i2.c : Regenerated.
* generated/minloc0_16_i4.c : Regenerated.
* generated/minloc0_16_i8.c : Regenerated.
* generated/minloc0_16_r10.c : Regenerated.
* generated/minloc0_16_r16.c : Regenerated.
* generated/minloc0_16_r4.c : Regenerated.
* generated/minloc0_16_r8.c : Regenerated.
* generated/minloc0_16_s1.c : Regenerated.
* generated/minloc0_16_s4.c : Regenerated.
* generated/minloc0_4_i1.c : Regenerated.
* generated/minloc0_4_i16.c : Regenerated.
* generated/minloc0_4_i2.c : Regenerated.
* generated/minloc0_4_i4.c : Regenerated.
* generated/minloc0_4_i8.c : Regenerated.
* generated/minloc0_4_r10.c : Regenerated.
* generated/minloc0_4_r16.c : Regenerated.
* generated/minloc0_4_r4.c : Regenerated.
* generated/minloc0_4_r8.c : Regenerated.
* generated/minloc0_4_s1.c : Regenerated.
* generated/minloc0_4_s4.c : Regenerated.
* generated/minloc0_8_i1.c : Regenerated.
* generated/minloc0_8_i16.c : Regenerated.
* generated/minloc0_8_i2.c : Regenerated.
* generated/minloc0_8_i4.c : Regenerated.
* generated/minloc0_8_i8.c : Regenerated.
* generated/minloc0_8_r10.c : Regenerated.
* generated/minloc0_8_r16.c : Regenerated.
* generated/minloc0_8_r4.c : Regenerated.
* generated/minloc0_8_r8.c : Regenerated.
* generated/minloc0_8_s1.c : Regenerated.
* generated/minloc0_8_s4.c : Regenerated.
* generated/minloc1_16_i1.c : Regenerated.
* generated/minloc1_16_i16.c : Regenerated.
* generated/minloc1_16_i2.c : Regenerated.
* generated/minloc1_16_i4.c : Regenerated.
* generated/minloc1_16_i8.c : Regenerated.
* generated/minloc1_16_r10.c : Regenerated.
* generated/minloc1_16_r16.c : Regenerated.
* generated/minloc1_16_r4.c : Regenerated.
* generated/minloc1_16_r8.c : Regenerated.
* generated/minloc1_16_s1.c : Regenerated.
* generated/minloc1_16_s4.c : Regenerated.
* generated/minloc1_4_i1.c : Regenerated.
* generated/minloc1_4_i16.c : Regenerated.
* generated/minloc1_4_i2.c : Regenerated.
* generated/minloc1_4_i4.c : Regenerated.
* generated/minloc1_4_i8.c : Regenerated.
* generated/minloc1_4_r10.c : Regenerated.
* generated/minloc1_4_r16.c : Regenerated.
* generated/minloc1_4_r4.c : Regenerated.
* generated/minloc1_4_r8.c : Regenerated.
* generated/minloc1_4_s1.c : Regenerated.
* generated/minloc1_4_s4.c : Regenerated.
* generated/minloc1_8_i1.c : Regenerated.
* generated/minloc1_8_i16.c : Regenerated.
* generated/minloc1_8_i2.c : Regenerated.
* generated/minloc1_8_i4.c : Regenerated.
* generated/minloc1_8_i8.c : Regenerated.
* generated/minloc1_8_r10.c : Regenerated.
* generated/minloc1_8_r16.c : Regenerated.
* generated/minloc1_8_r4.c : Regenerated.
* generated/minloc1_8_r8.c : Regenerated.
* generated/minloc1_8_s1.c : Regenerated.
* generated/minloc1_8_s4.c : Regenerated.
* generated/minval1_s1.c : Regenerated.
* generated/minval1_s4.c : Regenerated.
* generated/minval_i1.c : Regenerated.
* generated/minval_i16.c : Regenerated.
* generated/minval_i2.c : Regenerated.
* generated/minval_i4.c : Regenerated.
* generated/minval_i8.c : Regenerated.
* generated/minval_r10.c : Regenerated.
* generated/minval_r16.c : Regenerated.
* generated/minval_r4.c : Regenerated.
* generated/minval_r8.c : Regenerated.
* generated/norm2_r10.c : Regenerated.
* generated/norm2_r16.c : Regenerated.
* generated/norm2_r4.c : Regenerated.
* generated/norm2_r8.c : Regenerated.
* generated/parity_l1.c : Regenerated.
* generated/parity_l16.c : Regenerated.
* generated/parity_l2.c : Regenerated.
* generated/parity_l4.c : Regenerated.
* generated/parity_l8.c : Regenerated.
* generated/product_c10.c : Regenerated.
* generated/product_c16.c : Regenerated.
* generated/product_c4.c : Regenerated.
* generated/product_c8.c : Regenerated.
* generated/product_i1.c : Regenerated.
* generated/product_i16.c : Regenerated.
* generated/product_i2.c : Regenerated.
* generated/product_i4.c : Regenerated.
* generated/product_i8.c : Regenerated.
* generated/product_r10.c : Regenerated.
* generated/product_r16.c : Regenerated.
* generated/product_r4.c : Regenerated.
* generated/product_r8.c : Regenerated.
* generated/reshape_c10.c : Regenerated.
* generated/reshape_c16.c : Regenerated.
* generated/reshape_c4.c : Regenerated.
* generated/reshape_c8.c : Regenerated.
* generated/reshape_i16.c : Regenerated.
* generated/reshape_i4.c : Regenerated.
* generated/reshape_i8.c : Regenerated.
* generated/reshape_r10.c : Regenerated.
* generated/reshape_r16.c : Regenerated.
* generated/reshape_r4.c : Regenerated.
* generated/reshape_r8.c : Regenerated.
* generated/spread_c10.c : Regenerated.
* generated/spread_c16.c : Regenerated.
* generated/spread_c4.c : Regenerated.
* generated/spread_c8.c : Regenerated.
* generated/spread_i1.c : Regenerated.
* generated/spread_i16.c : Regenerated.
* generated/spread_i2.c : Regenerated.
* generated/spread_i4.c : Regenerated.
* generated/spread_i8.c : Regenerated.
* generated/spread_r10.c : Regenerated.
* generated/spread_r16.c : Regenerated.
* generated/spread_r4.c : Regenerated.
* generated/spread_r8.c : Regenerated.
* generated/sum_c10.c : Regenerated.
* generated/sum_c16.c : Regenerated.
* generated/sum_c4.c : Regenerated.
* generated/sum_c8.c : Regenerated.
* generated/sum_i1.c : Regenerated.
* generated/sum_i16.c : Regenerated.
* generated/sum_i2.c : Regenerated.
* generated/sum_i4.c : Regenerated.
* generated/sum_i8.c : Regenerated.
* generated/sum_r10.c : Regenerated.
* generated/sum_r16.c : Regenerated.
* generated/sum_r4.c : Regenerated.
* generated/sum_r8.c : Regenerated.

From-SVN: r256323

272 files changed:
libgfortran/ChangeLog
libgfortran/generated/all_l1.c
libgfortran/generated/all_l16.c
libgfortran/generated/all_l2.c
libgfortran/generated/all_l4.c
libgfortran/generated/all_l8.c
libgfortran/generated/any_l1.c
libgfortran/generated/any_l16.c
libgfortran/generated/any_l2.c
libgfortran/generated/any_l4.c
libgfortran/generated/any_l8.c
libgfortran/generated/count_16_l.c
libgfortran/generated/count_1_l.c
libgfortran/generated/count_2_l.c
libgfortran/generated/count_4_l.c
libgfortran/generated/count_8_l.c
libgfortran/generated/cshift1_16.c
libgfortran/generated/cshift1_4.c
libgfortran/generated/cshift1_8.c
libgfortran/generated/eoshift1_16.c
libgfortran/generated/eoshift1_4.c
libgfortran/generated/eoshift1_8.c
libgfortran/generated/eoshift3_16.c
libgfortran/generated/eoshift3_4.c
libgfortran/generated/eoshift3_8.c
libgfortran/generated/iall_i1.c
libgfortran/generated/iall_i16.c
libgfortran/generated/iall_i2.c
libgfortran/generated/iall_i4.c
libgfortran/generated/iall_i8.c
libgfortran/generated/iany_i1.c
libgfortran/generated/iany_i16.c
libgfortran/generated/iany_i2.c
libgfortran/generated/iany_i4.c
libgfortran/generated/iany_i8.c
libgfortran/generated/iparity_i1.c
libgfortran/generated/iparity_i16.c
libgfortran/generated/iparity_i2.c
libgfortran/generated/iparity_i4.c
libgfortran/generated/iparity_i8.c
libgfortran/generated/maxloc0_16_i1.c
libgfortran/generated/maxloc0_16_i16.c
libgfortran/generated/maxloc0_16_i2.c
libgfortran/generated/maxloc0_16_i4.c
libgfortran/generated/maxloc0_16_i8.c
libgfortran/generated/maxloc0_16_r10.c
libgfortran/generated/maxloc0_16_r16.c
libgfortran/generated/maxloc0_16_r4.c
libgfortran/generated/maxloc0_16_r8.c
libgfortran/generated/maxloc0_16_s1.c
libgfortran/generated/maxloc0_16_s4.c
libgfortran/generated/maxloc0_4_i1.c
libgfortran/generated/maxloc0_4_i16.c
libgfortran/generated/maxloc0_4_i2.c
libgfortran/generated/maxloc0_4_i4.c
libgfortran/generated/maxloc0_4_i8.c
libgfortran/generated/maxloc0_4_r10.c
libgfortran/generated/maxloc0_4_r16.c
libgfortran/generated/maxloc0_4_r4.c
libgfortran/generated/maxloc0_4_r8.c
libgfortran/generated/maxloc0_4_s1.c
libgfortran/generated/maxloc0_4_s4.c
libgfortran/generated/maxloc0_8_i1.c
libgfortran/generated/maxloc0_8_i16.c
libgfortran/generated/maxloc0_8_i2.c
libgfortran/generated/maxloc0_8_i4.c
libgfortran/generated/maxloc0_8_i8.c
libgfortran/generated/maxloc0_8_r10.c
libgfortran/generated/maxloc0_8_r16.c
libgfortran/generated/maxloc0_8_r4.c
libgfortran/generated/maxloc0_8_r8.c
libgfortran/generated/maxloc0_8_s1.c
libgfortran/generated/maxloc0_8_s4.c
libgfortran/generated/maxloc1_16_i1.c
libgfortran/generated/maxloc1_16_i16.c
libgfortran/generated/maxloc1_16_i2.c
libgfortran/generated/maxloc1_16_i4.c
libgfortran/generated/maxloc1_16_i8.c
libgfortran/generated/maxloc1_16_r10.c
libgfortran/generated/maxloc1_16_r16.c
libgfortran/generated/maxloc1_16_r4.c
libgfortran/generated/maxloc1_16_r8.c
libgfortran/generated/maxloc1_16_s1.c
libgfortran/generated/maxloc1_16_s4.c
libgfortran/generated/maxloc1_4_i1.c
libgfortran/generated/maxloc1_4_i16.c
libgfortran/generated/maxloc1_4_i2.c
libgfortran/generated/maxloc1_4_i4.c
libgfortran/generated/maxloc1_4_i8.c
libgfortran/generated/maxloc1_4_r10.c
libgfortran/generated/maxloc1_4_r16.c
libgfortran/generated/maxloc1_4_r4.c
libgfortran/generated/maxloc1_4_r8.c
libgfortran/generated/maxloc1_4_s1.c
libgfortran/generated/maxloc1_4_s4.c
libgfortran/generated/maxloc1_8_i1.c
libgfortran/generated/maxloc1_8_i16.c
libgfortran/generated/maxloc1_8_i2.c
libgfortran/generated/maxloc1_8_i4.c
libgfortran/generated/maxloc1_8_i8.c
libgfortran/generated/maxloc1_8_r10.c
libgfortran/generated/maxloc1_8_r16.c
libgfortran/generated/maxloc1_8_r4.c
libgfortran/generated/maxloc1_8_r8.c
libgfortran/generated/maxloc1_8_s1.c
libgfortran/generated/maxloc1_8_s4.c
libgfortran/generated/maxval1_s1.c
libgfortran/generated/maxval1_s4.c
libgfortran/generated/maxval_i1.c
libgfortran/generated/maxval_i16.c
libgfortran/generated/maxval_i2.c
libgfortran/generated/maxval_i4.c
libgfortran/generated/maxval_i8.c
libgfortran/generated/maxval_r10.c
libgfortran/generated/maxval_r16.c
libgfortran/generated/maxval_r4.c
libgfortran/generated/maxval_r8.c
libgfortran/generated/minloc0_16_i1.c
libgfortran/generated/minloc0_16_i16.c
libgfortran/generated/minloc0_16_i2.c
libgfortran/generated/minloc0_16_i4.c
libgfortran/generated/minloc0_16_i8.c
libgfortran/generated/minloc0_16_r10.c
libgfortran/generated/minloc0_16_r16.c
libgfortran/generated/minloc0_16_r4.c
libgfortran/generated/minloc0_16_r8.c
libgfortran/generated/minloc0_16_s1.c
libgfortran/generated/minloc0_16_s4.c
libgfortran/generated/minloc0_4_i1.c
libgfortran/generated/minloc0_4_i16.c
libgfortran/generated/minloc0_4_i2.c
libgfortran/generated/minloc0_4_i4.c
libgfortran/generated/minloc0_4_i8.c
libgfortran/generated/minloc0_4_r10.c
libgfortran/generated/minloc0_4_r16.c
libgfortran/generated/minloc0_4_r4.c
libgfortran/generated/minloc0_4_r8.c
libgfortran/generated/minloc0_4_s1.c
libgfortran/generated/minloc0_4_s4.c
libgfortran/generated/minloc0_8_i1.c
libgfortran/generated/minloc0_8_i16.c
libgfortran/generated/minloc0_8_i2.c
libgfortran/generated/minloc0_8_i4.c
libgfortran/generated/minloc0_8_i8.c
libgfortran/generated/minloc0_8_r10.c
libgfortran/generated/minloc0_8_r16.c
libgfortran/generated/minloc0_8_r4.c
libgfortran/generated/minloc0_8_r8.c
libgfortran/generated/minloc0_8_s1.c
libgfortran/generated/minloc0_8_s4.c
libgfortran/generated/minloc1_16_i1.c
libgfortran/generated/minloc1_16_i16.c
libgfortran/generated/minloc1_16_i2.c
libgfortran/generated/minloc1_16_i4.c
libgfortran/generated/minloc1_16_i8.c
libgfortran/generated/minloc1_16_r10.c
libgfortran/generated/minloc1_16_r16.c
libgfortran/generated/minloc1_16_r4.c
libgfortran/generated/minloc1_16_r8.c
libgfortran/generated/minloc1_16_s1.c
libgfortran/generated/minloc1_16_s4.c
libgfortran/generated/minloc1_4_i1.c
libgfortran/generated/minloc1_4_i16.c
libgfortran/generated/minloc1_4_i2.c
libgfortran/generated/minloc1_4_i4.c
libgfortran/generated/minloc1_4_i8.c
libgfortran/generated/minloc1_4_r10.c
libgfortran/generated/minloc1_4_r16.c
libgfortran/generated/minloc1_4_r4.c
libgfortran/generated/minloc1_4_r8.c
libgfortran/generated/minloc1_4_s1.c
libgfortran/generated/minloc1_4_s4.c
libgfortran/generated/minloc1_8_i1.c
libgfortran/generated/minloc1_8_i16.c
libgfortran/generated/minloc1_8_i2.c
libgfortran/generated/minloc1_8_i4.c
libgfortran/generated/minloc1_8_i8.c
libgfortran/generated/minloc1_8_r10.c
libgfortran/generated/minloc1_8_r16.c
libgfortran/generated/minloc1_8_r4.c
libgfortran/generated/minloc1_8_r8.c
libgfortran/generated/minloc1_8_s1.c
libgfortran/generated/minloc1_8_s4.c
libgfortran/generated/minval1_s1.c
libgfortran/generated/minval1_s4.c
libgfortran/generated/minval_i1.c
libgfortran/generated/minval_i16.c
libgfortran/generated/minval_i2.c
libgfortran/generated/minval_i4.c
libgfortran/generated/minval_i8.c
libgfortran/generated/minval_r10.c
libgfortran/generated/minval_r16.c
libgfortran/generated/minval_r4.c
libgfortran/generated/minval_r8.c
libgfortran/generated/norm2_r10.c
libgfortran/generated/norm2_r16.c
libgfortran/generated/norm2_r4.c
libgfortran/generated/norm2_r8.c
libgfortran/generated/parity_l1.c
libgfortran/generated/parity_l16.c
libgfortran/generated/parity_l2.c
libgfortran/generated/parity_l4.c
libgfortran/generated/parity_l8.c
libgfortran/generated/product_c10.c
libgfortran/generated/product_c16.c
libgfortran/generated/product_c4.c
libgfortran/generated/product_c8.c
libgfortran/generated/product_i1.c
libgfortran/generated/product_i16.c
libgfortran/generated/product_i2.c
libgfortran/generated/product_i4.c
libgfortran/generated/product_i8.c
libgfortran/generated/product_r10.c
libgfortran/generated/product_r16.c
libgfortran/generated/product_r4.c
libgfortran/generated/product_r8.c
libgfortran/generated/reshape_c10.c
libgfortran/generated/reshape_c16.c
libgfortran/generated/reshape_c4.c
libgfortran/generated/reshape_c8.c
libgfortran/generated/reshape_i16.c
libgfortran/generated/reshape_i4.c
libgfortran/generated/reshape_i8.c
libgfortran/generated/reshape_r10.c
libgfortran/generated/reshape_r16.c
libgfortran/generated/reshape_r4.c
libgfortran/generated/reshape_r8.c
libgfortran/generated/spread_c10.c
libgfortran/generated/spread_c16.c
libgfortran/generated/spread_c4.c
libgfortran/generated/spread_c8.c
libgfortran/generated/spread_i1.c
libgfortran/generated/spread_i16.c
libgfortran/generated/spread_i2.c
libgfortran/generated/spread_i4.c
libgfortran/generated/spread_i8.c
libgfortran/generated/spread_r10.c
libgfortran/generated/spread_r16.c
libgfortran/generated/spread_r4.c
libgfortran/generated/spread_r8.c
libgfortran/generated/sum_c10.c
libgfortran/generated/sum_c16.c
libgfortran/generated/sum_c4.c
libgfortran/generated/sum_c8.c
libgfortran/generated/sum_i1.c
libgfortran/generated/sum_i16.c
libgfortran/generated/sum_i2.c
libgfortran/generated/sum_i4.c
libgfortran/generated/sum_i8.c
libgfortran/generated/sum_r10.c
libgfortran/generated/sum_r16.c
libgfortran/generated/sum_r4.c
libgfortran/generated/sum_r8.c
libgfortran/intrinsics/cshift0.c
libgfortran/intrinsics/eoshift0.c
libgfortran/intrinsics/eoshift2.c
libgfortran/intrinsics/move_alloc.c
libgfortran/intrinsics/reshape_generic.c
libgfortran/intrinsics/spread_generic.c
libgfortran/intrinsics/unpack_generic.c
libgfortran/libgfortran.h
libgfortran/m4/cshift1.m4
libgfortran/m4/eoshift1.m4
libgfortran/m4/eoshift3.m4
libgfortran/m4/iforeach-s.m4
libgfortran/m4/iforeach.m4
libgfortran/m4/ifunction-s.m4
libgfortran/m4/ifunction-s2.m4
libgfortran/m4/ifunction.m4
libgfortran/m4/ifunction_logical.m4
libgfortran/m4/reshape.m4
libgfortran/m4/spread.m4

index 64f671b02e891a1a4705706678f3b4c98059c8f5..d05e6c65fda598bf7eeeff6d0e2ec6053b7ad5b9 100644 (file)
@@ -1,3 +1,284 @@
+2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * libgfortran.h (GFC_DTYPE_COPY): New macro.
+       (GFC_DTYPE_COPY_SETRANK): New macro.
+       (GFC_DTYPE_IS_UNSET): New macro.
+       * intrinsics/cshift0.c (cshift0): Use new macros.
+       * intrinsics/eoshift0.c (eoshift0): Likewise.
+       * intrinsics/eoshift2.c (eoshift2): Likewise.
+       * intrinsics/move_alloc.c (move_alloc): Likewise.
+       * intrinsics/reshape_generic.c (reshape_internal): Likewise.
+       * intrinsics/spread_generic.c (spread_internal): Likewise.
+       * intrinsics/spread_generic.c (spread_scalar): Likewise.
+       * intrinsics/spread_generic.c (spread_char_scalar): Likewise.
+       * intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
+       * intrinsics/unpack_generic.c (unpack0): Likewise.
+       * intrinsics/unpack_generic.c (unpack0_char): Likewise.
+       * intrinsics/unpack_generic.c (unpack0_char4): Likewise.
+       * m4/cshift1.m4 (cshift1): Likewise.
+       * m4/eoshift1.m4 (eoshift1): Likewise.
+       * m4/eoshift3.m4 (eoshift3): Likewise.
+       * m4/iforeach-s.m4: Likewise.
+       * m4/iforeach.m4: Likewise.
+       * m4/ifunction-s.m4: Likewise.
+       * m4/ifunction-s2.m4: Likewise.
+       * m4/ifunction.m4: Likewise.
+       * m4/ifunction_logical.m4: Likewise.
+       * m4/reshape.m4: Likewise.
+       * m4/spread.m4: Likewise.
+       * generated/all_l1.c : Regenerated.
+       * generated/all_l16.c : Regenerated.
+       * generated/all_l2.c : Regenerated.
+       * generated/all_l4.c : Regenerated.
+       * generated/all_l8.c : Regenerated.
+       * generated/any_l1.c : Regenerated.
+       * generated/any_l16.c : Regenerated.
+       * generated/any_l2.c : Regenerated.
+       * generated/any_l4.c : Regenerated.
+       * generated/any_l8.c : Regenerated.
+       * generated/count_16_l.c : Regenerated.
+       * generated/count_1_l.c : Regenerated.
+       * generated/count_2_l.c : Regenerated.
+       * generated/count_4_l.c : Regenerated.
+       * generated/count_8_l.c : Regenerated.
+       * generated/cshift1_16.c : Regenerated.
+       * generated/cshift1_4.c : Regenerated.
+       * generated/cshift1_8.c : Regenerated.
+       * generated/eoshift1_16.c : Regenerated.
+       * generated/eoshift1_4.c : Regenerated.
+       * generated/eoshift1_8.c : Regenerated.
+       * generated/eoshift3_16.c : Regenerated.
+       * generated/eoshift3_4.c : Regenerated.
+       * generated/eoshift3_8.c : Regenerated.
+       * generated/iall_i1.c : Regenerated.
+       * generated/iall_i16.c : Regenerated.
+       * generated/iall_i2.c : Regenerated.
+       * generated/iall_i4.c : Regenerated.
+       * generated/iall_i8.c : Regenerated.
+       * generated/iany_i1.c : Regenerated.
+       * generated/iany_i16.c : Regenerated.
+       * generated/iany_i2.c : Regenerated.
+       * generated/iany_i4.c : Regenerated.
+       * generated/iany_i8.c : Regenerated.
+       * generated/iparity_i1.c : Regenerated.
+       * generated/iparity_i16.c : Regenerated.
+       * generated/iparity_i2.c : Regenerated.
+       * generated/iparity_i4.c : Regenerated.
+       * generated/iparity_i8.c : Regenerated.
+       * generated/maxloc0_16_i1.c : Regenerated.
+       * generated/maxloc0_16_i16.c : Regenerated.
+       * generated/maxloc0_16_i2.c : Regenerated.
+       * generated/maxloc0_16_i4.c : Regenerated.
+       * generated/maxloc0_16_i8.c : Regenerated.
+       * generated/maxloc0_16_r10.c : Regenerated.
+       * generated/maxloc0_16_r16.c : Regenerated.
+       * generated/maxloc0_16_r4.c : Regenerated.
+       * generated/maxloc0_16_r8.c : Regenerated.
+       * generated/maxloc0_16_s1.c : Regenerated.
+       * generated/maxloc0_16_s4.c : Regenerated.
+       * generated/maxloc0_4_i1.c : Regenerated.
+       * generated/maxloc0_4_i16.c : Regenerated.
+       * generated/maxloc0_4_i2.c : Regenerated.
+       * generated/maxloc0_4_i4.c : Regenerated.
+       * generated/maxloc0_4_i8.c : Regenerated.
+       * generated/maxloc0_4_r10.c : Regenerated.
+       * generated/maxloc0_4_r16.c : Regenerated.
+       * generated/maxloc0_4_r4.c : Regenerated.
+       * generated/maxloc0_4_r8.c : Regenerated.
+       * generated/maxloc0_4_s1.c : Regenerated.
+       * generated/maxloc0_4_s4.c : Regenerated.
+       * generated/maxloc0_8_i1.c : Regenerated.
+       * generated/maxloc0_8_i16.c : Regenerated.
+       * generated/maxloc0_8_i2.c : Regenerated.
+       * generated/maxloc0_8_i4.c : Regenerated.
+       * generated/maxloc0_8_i8.c : Regenerated.
+       * generated/maxloc0_8_r10.c : Regenerated.
+       * generated/maxloc0_8_r16.c : Regenerated.
+       * generated/maxloc0_8_r4.c : Regenerated.
+       * generated/maxloc0_8_r8.c : Regenerated.
+       * generated/maxloc0_8_s1.c : Regenerated.
+       * generated/maxloc0_8_s4.c : Regenerated.
+       * generated/maxloc1_16_i1.c : Regenerated.
+       * generated/maxloc1_16_i16.c : Regenerated.
+       * generated/maxloc1_16_i2.c : Regenerated.
+       * generated/maxloc1_16_i4.c : Regenerated.
+       * generated/maxloc1_16_i8.c : Regenerated.
+       * generated/maxloc1_16_r10.c : Regenerated.
+       * generated/maxloc1_16_r16.c : Regenerated.
+       * generated/maxloc1_16_r4.c : Regenerated.
+       * generated/maxloc1_16_r8.c : Regenerated.
+       * generated/maxloc1_16_s1.c : Regenerated.
+       * generated/maxloc1_16_s4.c : Regenerated.
+       * generated/maxloc1_4_i1.c : Regenerated.
+       * generated/maxloc1_4_i16.c : Regenerated.
+       * generated/maxloc1_4_i2.c : Regenerated.
+       * generated/maxloc1_4_i4.c : Regenerated.
+       * generated/maxloc1_4_i8.c : Regenerated.
+       * generated/maxloc1_4_r10.c : Regenerated.
+       * generated/maxloc1_4_r16.c : Regenerated.
+       * generated/maxloc1_4_r4.c : Regenerated.
+       * generated/maxloc1_4_r8.c : Regenerated.
+       * generated/maxloc1_4_s1.c : Regenerated.
+       * generated/maxloc1_4_s4.c : Regenerated.
+       * generated/maxloc1_8_i1.c : Regenerated.
+       * generated/maxloc1_8_i16.c : Regenerated.
+       * generated/maxloc1_8_i2.c : Regenerated.
+       * generated/maxloc1_8_i4.c : Regenerated.
+       * generated/maxloc1_8_i8.c : Regenerated.
+       * generated/maxloc1_8_r10.c : Regenerated.
+       * generated/maxloc1_8_r16.c : Regenerated.
+       * generated/maxloc1_8_r4.c : Regenerated.
+       * generated/maxloc1_8_r8.c : Regenerated.
+       * generated/maxloc1_8_s1.c : Regenerated.
+       * generated/maxloc1_8_s4.c : Regenerated.
+       * generated/maxval1_s1.c : Regenerated.
+       * generated/maxval1_s4.c : Regenerated.
+       * generated/maxval_i1.c : Regenerated.
+       * generated/maxval_i16.c : Regenerated.
+       * generated/maxval_i2.c : Regenerated.
+       * generated/maxval_i4.c : Regenerated.
+       * generated/maxval_i8.c : Regenerated.
+       * generated/maxval_r10.c : Regenerated.
+       * generated/maxval_r16.c : Regenerated.
+       * generated/maxval_r4.c : Regenerated.
+       * generated/maxval_r8.c : Regenerated.
+       * generated/minloc0_16_i1.c : Regenerated.
+       * generated/minloc0_16_i16.c : Regenerated.
+       * generated/minloc0_16_i2.c : Regenerated.
+       * generated/minloc0_16_i4.c : Regenerated.
+       * generated/minloc0_16_i8.c : Regenerated.
+       * generated/minloc0_16_r10.c : Regenerated.
+       * generated/minloc0_16_r16.c : Regenerated.
+       * generated/minloc0_16_r4.c : Regenerated.
+       * generated/minloc0_16_r8.c : Regenerated.
+       * generated/minloc0_16_s1.c : Regenerated.
+       * generated/minloc0_16_s4.c : Regenerated.
+       * generated/minloc0_4_i1.c : Regenerated.
+       * generated/minloc0_4_i16.c : Regenerated.
+       * generated/minloc0_4_i2.c : Regenerated.
+       * generated/minloc0_4_i4.c : Regenerated.
+       * generated/minloc0_4_i8.c : Regenerated.
+       * generated/minloc0_4_r10.c : Regenerated.
+       * generated/minloc0_4_r16.c : Regenerated.
+       * generated/minloc0_4_r4.c : Regenerated.
+       * generated/minloc0_4_r8.c : Regenerated.
+       * generated/minloc0_4_s1.c : Regenerated.
+       * generated/minloc0_4_s4.c : Regenerated.
+       * generated/minloc0_8_i1.c : Regenerated.
+       * generated/minloc0_8_i16.c : Regenerated.
+       * generated/minloc0_8_i2.c : Regenerated.
+       * generated/minloc0_8_i4.c : Regenerated.
+       * generated/minloc0_8_i8.c : Regenerated.
+       * generated/minloc0_8_r10.c : Regenerated.
+       * generated/minloc0_8_r16.c : Regenerated.
+       * generated/minloc0_8_r4.c : Regenerated.
+       * generated/minloc0_8_r8.c : Regenerated.
+       * generated/minloc0_8_s1.c : Regenerated.
+       * generated/minloc0_8_s4.c : Regenerated.
+       * generated/minloc1_16_i1.c : Regenerated.
+       * generated/minloc1_16_i16.c : Regenerated.
+       * generated/minloc1_16_i2.c : Regenerated.
+       * generated/minloc1_16_i4.c : Regenerated.
+       * generated/minloc1_16_i8.c : Regenerated.
+       * generated/minloc1_16_r10.c : Regenerated.
+       * generated/minloc1_16_r16.c : Regenerated.
+       * generated/minloc1_16_r4.c : Regenerated.
+       * generated/minloc1_16_r8.c : Regenerated.
+       * generated/minloc1_16_s1.c : Regenerated.
+       * generated/minloc1_16_s4.c : Regenerated.
+       * generated/minloc1_4_i1.c : Regenerated.
+       * generated/minloc1_4_i16.c : Regenerated.
+       * generated/minloc1_4_i2.c : Regenerated.
+       * generated/minloc1_4_i4.c : Regenerated.
+       * generated/minloc1_4_i8.c : Regenerated.
+       * generated/minloc1_4_r10.c : Regenerated.
+       * generated/minloc1_4_r16.c : Regenerated.
+       * generated/minloc1_4_r4.c : Regenerated.
+       * generated/minloc1_4_r8.c : Regenerated.
+       * generated/minloc1_4_s1.c : Regenerated.
+       * generated/minloc1_4_s4.c : Regenerated.
+       * generated/minloc1_8_i1.c : Regenerated.
+       * generated/minloc1_8_i16.c : Regenerated.
+       * generated/minloc1_8_i2.c : Regenerated.
+       * generated/minloc1_8_i4.c : Regenerated.
+       * generated/minloc1_8_i8.c : Regenerated.
+       * generated/minloc1_8_r10.c : Regenerated.
+       * generated/minloc1_8_r16.c : Regenerated.
+       * generated/minloc1_8_r4.c : Regenerated.
+       * generated/minloc1_8_r8.c : Regenerated.
+       * generated/minloc1_8_s1.c : Regenerated.
+       * generated/minloc1_8_s4.c : Regenerated.
+       * generated/minval1_s1.c : Regenerated.
+       * generated/minval1_s4.c : Regenerated.
+       * generated/minval_i1.c : Regenerated.
+       * generated/minval_i16.c : Regenerated.
+       * generated/minval_i2.c : Regenerated.
+       * generated/minval_i4.c : Regenerated.
+       * generated/minval_i8.c : Regenerated.
+       * generated/minval_r10.c : Regenerated.
+       * generated/minval_r16.c : Regenerated.
+       * generated/minval_r4.c : Regenerated.
+       * generated/minval_r8.c : Regenerated.
+       * generated/norm2_r10.c : Regenerated.
+       * generated/norm2_r16.c : Regenerated.
+       * generated/norm2_r4.c : Regenerated.
+       * generated/norm2_r8.c : Regenerated.
+       * generated/parity_l1.c : Regenerated.
+       * generated/parity_l16.c : Regenerated.
+       * generated/parity_l2.c : Regenerated.
+       * generated/parity_l4.c : Regenerated.
+       * generated/parity_l8.c : Regenerated.
+       * generated/product_c10.c : Regenerated.
+       * generated/product_c16.c : Regenerated.
+       * generated/product_c4.c : Regenerated.
+       * generated/product_c8.c : Regenerated.
+       * generated/product_i1.c : Regenerated.
+       * generated/product_i16.c : Regenerated.
+       * generated/product_i2.c : Regenerated.
+       * generated/product_i4.c : Regenerated.
+       * generated/product_i8.c : Regenerated.
+       * generated/product_r10.c : Regenerated.
+       * generated/product_r16.c : Regenerated.
+       * generated/product_r4.c : Regenerated.
+       * generated/product_r8.c : Regenerated.
+       * generated/reshape_c10.c : Regenerated.
+       * generated/reshape_c16.c : Regenerated.
+       * generated/reshape_c4.c : Regenerated.
+       * generated/reshape_c8.c : Regenerated.
+       * generated/reshape_i16.c : Regenerated.
+       * generated/reshape_i4.c : Regenerated.
+       * generated/reshape_i8.c : Regenerated.
+       * generated/reshape_r10.c : Regenerated.
+       * generated/reshape_r16.c : Regenerated.
+       * generated/reshape_r4.c : Regenerated.
+       * generated/reshape_r8.c : Regenerated.
+       * generated/spread_c10.c : Regenerated.
+       * generated/spread_c16.c : Regenerated.
+       * generated/spread_c4.c : Regenerated.
+       * generated/spread_c8.c : Regenerated.
+       * generated/spread_i1.c : Regenerated.
+       * generated/spread_i16.c : Regenerated.
+       * generated/spread_i2.c : Regenerated.
+       * generated/spread_i4.c : Regenerated.
+       * generated/spread_i8.c : Regenerated.
+       * generated/spread_r10.c : Regenerated.
+       * generated/spread_r16.c : Regenerated.
+       * generated/spread_r4.c : Regenerated.
+       * generated/spread_r8.c : Regenerated.
+       * generated/sum_c10.c : Regenerated.
+       * generated/sum_c16.c : Regenerated.
+       * generated/sum_c4.c : Regenerated.
+       * generated/sum_c8.c : Regenerated.
+       * generated/sum_i1.c : Regenerated.
+       * generated/sum_i16.c : Regenerated.
+       * generated/sum_i2.c : Regenerated.
+       * generated/sum_i4.c : Regenerated.
+       * generated/sum_i8.c : Regenerated.
+       * generated/sum_r10.c : Regenerated.
+       * generated/sum_r16.c : Regenerated.
+       * generated/sum_r4.c : Regenerated.
+       * generated/sum_r8.c : Regenerated.
+
 2018-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
 
        PR fortran/78534
index 82859eb45a3f0fe5848fe79ba1b5d9db6baa6490..8779367964f19cac69e2bb63266fe7c021171c7e 100644 (file)
@@ -97,7 +97,7 @@ all_l1 (gfc_array_l1 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f7104b0c23e357298fd4ed00938da84a54131440..ef3d12eea544c4cb0dbf6de18be0b5d64d8b4859 100644 (file)
@@ -97,7 +97,7 @@ all_l16 (gfc_array_l16 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e44a9378ac1b8997daedac4c4eb39fe39a5cdfc9..18a0ef6f76f318b4441b8d4e9df3ed4020002a36 100644 (file)
@@ -97,7 +97,7 @@ all_l2 (gfc_array_l2 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 9f5c9f5db06204f0eaac56a40e229fa3a8afcaab..522c591314e05ef8face006a70d6c3aa21b393ee 100644 (file)
@@ -97,7 +97,7 @@ all_l4 (gfc_array_l4 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 88a8fa08ab713f79889d07d61107b38542e2c252..a762ac01a090670f170c51050591936aab5be3de 100644 (file)
@@ -97,7 +97,7 @@ all_l8 (gfc_array_l8 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 6d831197f72b09511357d6ea8ab87d6c69fc57d7..c2d3d54ecc1050b28533b8c9ec8b2b9296660b37 100644 (file)
@@ -97,7 +97,7 @@ any_l1 (gfc_array_l1 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index aebee57dc00f514c0b3dcbf5cfac9c0e6bf4d89e..181bb85c2a8378853f1f33487a40da82277bfac2 100644 (file)
@@ -97,7 +97,7 @@ any_l16 (gfc_array_l16 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index de784371932ba31bc048896c53cd01771103183b..b6b86e5a745ba81ed99ab3b10ea3ad460a029044 100644 (file)
@@ -97,7 +97,7 @@ any_l2 (gfc_array_l2 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 2b1d2162d61dd7f43b18ee3420a5629cd9f6a385..3249b28e7866763e811e5f2f752ee7e765c94ed1 100644 (file)
@@ -97,7 +97,7 @@ any_l4 (gfc_array_l4 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 5bdf1821512e60d50d263b9c8fe34f6af0c16f8a..6569cb597c468c4ccdf89c06be79927bd6760ddb 100644 (file)
@@ -97,7 +97,7 @@ any_l8 (gfc_array_l8 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 37adb2560b53eb1dc412c766c48729aba02c02d8..d099eedc823d43cf7761dbaba6bcd16a7a2b0b29 100644 (file)
@@ -97,7 +97,7 @@ count_16_l (gfc_array_i16 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 5627064ec23a8d894ac074199cd7b75973d10068..b403d8398db625a5fd52a083863e7f366682e919 100644 (file)
@@ -97,7 +97,7 @@ count_1_l (gfc_array_i1 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index fe83426d8046383ff8f4c6c99832d843325b8249..e316bbb93ee71e8a933aee9bcdf0414369b3b802 100644 (file)
@@ -97,7 +97,7 @@ count_2_l (gfc_array_i2 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8493cb19d227e64adbb214d2324c2f9b5ad880f3..1748e85ca19e07804fef70b196641765bf27b509 100644 (file)
@@ -97,7 +97,7 @@ count_4_l (gfc_array_i4 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0964df267b8519f2a07565649145644ed56e669d..d1917865025e16a2a3589b93ea4c2f20021561c4 100644 (file)
@@ -97,7 +97,7 @@ count_8_l (gfc_array_i8 * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index c79b90ab666f47c10f10569e1a191f0b248c005d..e6921ac6899ed8497c5fdaa1804e901ab25c949f 100644 (file)
@@ -81,7 +81,7 @@ cshift1 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 0da8513d27100bfe4c342eacbb95f12aec4142a7..530aabc9f459fb29e4ffc1e9582f6a7be716246a 100644 (file)
@@ -81,7 +81,7 @@ cshift1 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index cc0800f134d377510ccb16fdac8e981a750979d6..9d65c4a51a120dc1bb2d308dbd8cb7d12645dd5e 100644 (file)
@@ -81,7 +81,7 @@ cshift1 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 58afe8e3ae85e5153e41206f5b5587f91b36909a..35620d648598b676a7c11ddf14c623425387e5ca 100644 (file)
@@ -87,7 +87,7 @@ eoshift1 (gfc_array_char * const restrict ret,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 32dd33e4d8f8092b2d2a108af3f7e3addb97ad7d..2e6c014b01ee229a1059290e199b6d7d24422c10 100644 (file)
@@ -87,7 +87,7 @@ eoshift1 (gfc_array_char * const restrict ret,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 175b390de623c0e7205afe3d94deb396ace620d3..4cd90a50bc0a14014972adae3e9e90095b400145 100644 (file)
@@ -87,7 +87,7 @@ eoshift1 (gfc_array_char * const restrict ret,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 88f6c29bf3f4f93eef11ae1782b8f066ae2a26ac..018b640970fa26fb2743ed0cdd39160f6cf3c6ed 100644 (file)
@@ -89,7 +89,7 @@ eoshift3 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 1ccb2709f51e1c95b752ab9c408eae686f72f901..c27dcbad76435e825192e1484e34e6d9100c0219 100644 (file)
@@ -89,7 +89,7 @@ eoshift3 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 1ef11dc23a6eb5f1c4ce471f5ef870a6c17d2ecf..2649ced788ce041e24be5a62c83d5d106b285c6e 100644 (file)
@@ -89,7 +89,7 @@ eoshift3 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index a3cea87b1ba195cb297b2ac1cefb10306b9a6cc5..bf13b79104aff5119d11f3e5c2c2edd8aa2058d8 100644 (file)
@@ -100,7 +100,7 @@ iall_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miall_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siall_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0eab5abf40d348a041b3e5d2f41179fcbdfdd8e9..a3de245b9ec02014d3e62b5d9cdc494f3d995a9e 100644 (file)
@@ -100,7 +100,7 @@ iall_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miall_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siall_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4711c81c92fbf2c402ef6232d9c4638e9fa547c1..b2b3f05e9a5605778e68bb7fedeab07442a782cf 100644 (file)
@@ -100,7 +100,7 @@ iall_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miall_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siall_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 02b3078d2af6af82957db4aab4768092d590d1f6..70a43795d8e5958094466c76aef5419eb130c7c9 100644 (file)
@@ -100,7 +100,7 @@ iall_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miall_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siall_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4baacdb60bfcebde7be1985c3d788b1fea7d3853..77cc4c0931838e72cdfd1c8cb5dd557daeee8fcf 100644 (file)
@@ -100,7 +100,7 @@ iall_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miall_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siall_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e70d4b7cad002b75418959fc21a382493791fedb..9673cb0e2cb267c995d561266365a053e6225e3f 100644 (file)
@@ -100,7 +100,7 @@ iany_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miany_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siany_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a76214d6a9f9a9052432ae412f4c87003af8f124..df60f10f65615d1195b877ff6636cdad3b1b0b4a 100644 (file)
@@ -100,7 +100,7 @@ iany_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miany_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siany_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index c309b49cd4039eaf930cb76c0e1573395f1da915..5b0623bdbe97ae1cbc78e08ff0431d8c44431862 100644 (file)
@@ -100,7 +100,7 @@ iany_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miany_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siany_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 09dc81e305dce5bf6efbb2966fa0c267b7f3dc56..a7effd6db8a0c49189940671d148d11019c6c1ea 100644 (file)
@@ -100,7 +100,7 @@ iany_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miany_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siany_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index dda57da000484583dba2d95edc28c7d918589e19..c87ba7aed4d992fd973ad360d3aa433ee416fa65 100644 (file)
@@ -100,7 +100,7 @@ iany_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miany_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siany_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 9780a2fec1c8d9e73c0fde5facc14c4454e51c1b..4315406d7ae8abed13414cf5b0d6c0dd22cfb4c7 100644 (file)
@@ -100,7 +100,7 @@ iparity_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miparity_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siparity_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 29aaea20c2d23400af86d2bad2fc000a4f05a3b4..8817487bcb0546c726b1f2d6ec2a2103009f43a1 100644 (file)
@@ -100,7 +100,7 @@ iparity_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miparity_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siparity_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 04ac62d3170f11c80350188baf0dec55997a0722..0c737038846cb72491a134085e8b049925936760 100644 (file)
@@ -100,7 +100,7 @@ iparity_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miparity_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siparity_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 41a0e3356458367e4c72dacf5d5a2c9a67a656b6..1f1bfa9a01c1c244415e464b4012e877a080eae8 100644 (file)
@@ -100,7 +100,7 @@ iparity_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miparity_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siparity_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 352cf9cfcbaa738c0172b0ef9f6c48aed0b3eea9..ad58b5373810447827c5983ad4eef21bbfadb941 100644 (file)
@@ -100,7 +100,7 @@ iparity_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ miparity_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ siparity_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index fe79a55237a4239f35afc299bd85dddf8e2ef709..aa5ac367a09f41038716fd9ad78a283b5ea63fc3 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 8986910ce1251194e3afe3ad343291dd4eda8592..f648402d1a1fae76a5ab3bfbf596a2df8a438a93 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index ee0d5c2160f765015ef06c40031a5dfe9dde9018..825eb74d80cad045b26b774b3fdd101e007b8d25 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 9b0d675d9b15da4d891e09276a1295ae365f9646..0720609ccd37621f3feb6a47ade1c6d42d2f8be8 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 113b76e5bdddbb9e037e798ec25c4a546b697bfa..f5318e9caecd6460ba396f6b074eac06ec2ee5f3 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 810bf8995e103db5d609e2620a278cb98623dc9d..1641b3af8cee01d834aec5375e92261c8f30625f 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 945acf70724f87a22ce3ecedaaba0a0cfed8ed47..c5409fd8ed32356ff12fa98e433dbd271201a0f5 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 78c4d8cb6d89da3dfb823555141db093cb770e51..1d076a1688ba7b3da081a9f37eb78674a512aa45 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 8853d240e23d7d311dc7041c21e8219ef1622921..2cb175b33199806b87c0f05c9726bd57b8bbc51b 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mmaxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ smaxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 631e973d9e211465663828f6987104ae4d6a44cf..424237cca7257179cdcf33d2c160e30e82516dc6 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -176,7 +176,7 @@ mmaxloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -309,7 +309,7 @@ smaxloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 18da7cde6b40735bf10c0247116b380013f6aa0a..e0c236a400843a76e6c87a305206dc29b492343a 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -176,7 +176,7 @@ mmaxloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -309,7 +309,7 @@ smaxloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 6b374876235a83f1ef1e6b9eb114255f804e354d..137e852d8609f8092169cc32b9494e7b550ab872 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 2a874fd9832b39ded19e92047b55148623719ce1..880e3cac2d6f56a691ebe81904ffe3a1993384ff 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index df62aad9587da13059eb2a4571d03e66169ae0e8..98197ecf410770ef7516cf148db26a43b42f6e62 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 187d04c727707e04b26679bafadcc58f441ed37e..cc6ad848ec79c3a2b22980728da557086d241489 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 304eda577e5e60787114db3213590b825bda3a9a..802f935ae55a8b62bd3c1b69e64fa1537ae11cc8 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 0585aa1630f4374e7cfab5d67a9c96299c612b00..1222096700aa14df0a28fd035244980fbd38d635 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 14388e0caa948793b4fc23c7e07984db866fffc6..deaca72c5a2387429a9447331f9b4180fcf4ad5f 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 2626a7f1e5ec4e0d53a645f621d95a59afa18d5f..aa7fca0a9d7799e7df0e0494e7de74c607bbb85e 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 9760f9d8e8e25acf160017c8642221abe58cb9d7..ba0659d7b4d3d80bafe93d1858b0939d318a8987 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mmaxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ smaxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index a3e3ce3038e7fd3e38c78cce01aa089adad505b4..80759a661d2cb2d03851ff388996bd6b23b58e09 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -176,7 +176,7 @@ mmaxloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -309,7 +309,7 @@ smaxloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 318a27fd25ca3036b00bb34fcda6ed3311a94570..75eeaeed5a35ee6a96f4105b74b9f561fee48784 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -176,7 +176,7 @@ mmaxloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -309,7 +309,7 @@ smaxloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index d11464685f1b5e8cdd029d1bab86398456dd9bec..dd07066f81a14af4289bbd78ba91311881966f89 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 88e3fd5e9d43848dcd086db3351b8d33923a5f44..44ab70c382937f62a2dd1a129d6ceefa81d44933 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 4753688d62812e14280051d671e257d86f6741e0..6dfd0d86321e85fb3566eef3d7e66c603686acc4 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 08a145d2e25ae8f7415119466bbb50317cdf6be4..01b18c394f399db8dc00fd0d2350163e567ff228 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 70f8ba18fc35c288343667e201cca21ee198e1a5..df7544f9ac64d1c3f2e384a298bfc62bc519f7ee 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index d0447a02b4ded4850201d136e35432e083cadb34..3047b1e239074f3856b687860ae5bd4402736fee 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 4635719516816d9953bb30cb8175b51702315e98..baf000cdbaacb2ab61461bfde32db7dcb2bf5654 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 20d2f030afa6b7c4b47cdf516625f45291efaa0d..48fa4240b4b8382905d0ce2130fd795dabf15e72 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index ce1659799338216584b9202fcfffab3048195010..37a25ef38656771626860809a23fc6b29105d760 100644 (file)
@@ -53,7 +53,7 @@ maxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mmaxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ smaxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 1a613ce08d54ec83bdb6fadc6c4789187c023d32..1c86ff4974b0dcb972227dcc9600b10f01a623b2 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -176,7 +176,7 @@ mmaxloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -309,7 +309,7 @@ smaxloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 6e19aef47b5190bc59cb83e705c20a73ea93aa15..14f4658ba13322097a81ca5b64ed786fce1a9efc 100644 (file)
@@ -66,7 +66,7 @@ maxloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -176,7 +176,7 @@ mmaxloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -309,7 +309,7 @@ smaxloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 4970c2c621b31724ea0f702edb4dea406801e1b2..d1d1d5e3a9665c9f36b1d413850d544a4b92e5db 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_i1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_i1 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_i1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 59d26f61af1a870b9f64c1ee94d3a800e7039c9a..27aa37d7c83b19382c7f9a8ce4b6c920c719c19c 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e1337233fde1f2cc48b84f53b847ae3268b4a183..a79088d1e9c9dff15f11d70e758afd0cc841e6ca 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_i2 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_i2 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_i2 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ea1e46fccd38e6f4b774208492a7c16756f14b9d..852677de16617cdc2fc2b8aa23daa728ad6eee3e 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e6a1bf29156bb4bed71f0214277f1bf26a109fcb..4cdc1a7a6cc018d32a4cdce9f1d32d94247e193e 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f9f4887b75bb8b4093970353727e02feb656857b..f3f9890ae46bc0165eaae7840c05abb5b4183bb5 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 104f6f784b9aa6c00bf7e1585cc67284046c2277..6bbef795c6ec74f22299cf11dcedb99185d931ac 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 6a9d23c8c7abef7975fc946c60b9082f609907ad..98019899d0a9ac612c039047a219027843f9f247 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 6aa92076dbf0fc92b21db66abc4c5b9f42fd91d0..86cffb931a26f9b926d4db71958385c6924a571e 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f74539729656314f65bddfc00b7be4fa8e6f9ff0..16be61177319a27e4b512f22e10e9d5d54b286ee 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_16_s1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_16_s1 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_16_s1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a77da96e97b1fa9def0b9d1bc7e2112642087689..09bbb992dce6ed2cd4aae220b054f0b363f86d5d 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_16_s4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_16_s4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_16_s4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 492fa61952712480985854c1987d11e830c2ae11..364d09e73fd559001db7d607e032b915a0c3cb8c 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_i1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_i1 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_i1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index cf34c3394b458b804c0cefc27a59ea855bb0e90a..e05a9ace697e0fc807e4e8ce69d7faa563854750 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ec76833778e660f255eba13b360ecf37a7a581de..38879170d9b4b73db742f850e4f359c9f0001427 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_i2 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_i2 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_i2 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ee48be84e6f90b400a3cfc2a2ef78422903d8e65..bc8a7fd31d80a2b88a995301f68685a2de7c487f 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4aa514ddf47414b08020be17ff8165870e2aea07..e1d2aee527700488706a06c03d5f19017f65b530 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index b2201b1ea7909d1afa59ea13b3f72823d963d7f7..03d55cce21b20bc8298ae71b1228359e6acc91ae 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 387ff31b80516a20079d901aca39445afcbe76d6..1d86824bf78ff1738d5259fd60ba30ff396d81d5 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 95c57548cbaacf6fae7215ea25d6ee30893067c9..8dcae97b3ed3877ae7397a944b66c24c7d3cbf5c 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index be4f4670cb22025e3b66d91e8cf2c33b094f3b3f..9c0f5b158af46eb108e81924a026a0e517e4b712 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index b762d6b42c512d0abf02c605455953ab91b07511..a882a7be43677cccc869312cd14bf0c8cebf006b 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_4_s1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_4_s1 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_4_s1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 7920c7f813f34b6ab5d47fec4838b2376e6625d9..acc989ce1abf7dbf086bfa0af539d1ef9e92dbba 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_4_s4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_4_s4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_4_s4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4cd775a6183c19b98388279b6d980445c7b5c645..8087789597159246025f085938fa65eb182ef7a2 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_i1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_i1 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_i1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d8c39561c8a33a6ab3559cbd8a950d0a9808617d..71ad13c68bd92e5c8e960b0420d75a67316f8467 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 170d6af96c1820a6a54e86848332b55b31b63ebc..d89b74f4c1418f2ae919f59c202cfbcebbc5875d 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_i2 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_i2 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_i2 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 06daed5806a1c584bd2c71e263d0250609e68141..df4b218e9fb6f145fe91c66cd75c0f2e5cc69677 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 1ffa15ba6c36e604a8cb55c4d5561a4339857d7f..946e4ca3645164943ef71ba452709f043469af2d 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 96f45e7ac6435782c22e31b0237aa51ea3f11349..a7db332441d11e4aba7b98b9a47eb2038892fe8a 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 70f042b8772316a7aed9818677dac4a217a93845..e118f12f820c3c8254e1447e70d261041730c366 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a8506cb1d5308713300119bd9acbb05981788195..b97cd4c3f042a070fb5eaf33d1cb3073fca89866 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index c29ee1e432b59dfa78b39df52c8d9a10f9506892..69c0c298bad08181b56118c206918294dcfb070f 100644 (file)
@@ -100,7 +100,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mmaxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ smaxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 3716334499663bdec7b29ea04f055b6daa7d87f9..e18ec1a4a614106c1240166d00ff1d49d13fa4c9 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_8_s1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_8_s1 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_8_s1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index fd4c4296a64d7bd6138aae665384ed2098d14cd4..dbe40e962861bb2d6c666ef5898cbfdde3456e89 100644 (file)
@@ -111,7 +111,7 @@ maxloc1_8_s4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mmaxloc1_8_s4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ smaxloc1_8_s4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d2cd5bdefcdf942582043c6871e878f93c6bc78c..094eecf1d074809ebbfbfbfbceeb455315721fbf 100644 (file)
@@ -114,7 +114,7 @@ maxval1_s1 (gfc_array_s1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
@@ -310,7 +310,7 @@ mmaxval1_s1 (gfc_array_s1 * const restrict retarray,
                 * string_len;
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -485,7 +485,7 @@ smaxval1_s1 (gfc_array_s1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
index 22f1e50755b7fcd5f5d1f0450a03d0a2f6cc5b83..e9260ce19b9d5ee3e28181294a7f20941ed46951 100644 (file)
@@ -114,7 +114,7 @@ maxval1_s4 (gfc_array_s4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
@@ -310,7 +310,7 @@ mmaxval1_s4 (gfc_array_s4 * const restrict retarray,
                 * string_len;
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -485,7 +485,7 @@ smaxval1_s4 (gfc_array_s4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
index 810227466e15e4c94801d591111010766e1d3431..88d80e11ad64aaa024b6338827ff14942d6b948e 100644 (file)
@@ -100,7 +100,7 @@ maxval_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 390682d1998d839db04fdbfa8af3851372178c7f..c555085c712fb8e8dcdbfc213c5af2e53d166171 100644 (file)
@@ -100,7 +100,7 @@ maxval_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 1e063229a09a5390048c36c5570cb32027b69e43..159ec96615e5e6afd8d3ce1e1d16d80d391a18f3 100644 (file)
@@ -100,7 +100,7 @@ maxval_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index cc1a74d69f90e2638b153682717066dd521af6f6..70f8e905196382bf676f6c309d8531bd5abdd90d 100644 (file)
@@ -100,7 +100,7 @@ maxval_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e6ff1c8cd5cd867d60de69688c1dbe1826ff9189..49517bb4f9a67b4d02cfe59edbf17f8807692981 100644 (file)
@@ -100,7 +100,7 @@ maxval_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 93b34ee24b84a77eef576446e63bfbbca1c0c8df..683a6f9be2e497ba349153f4b2c73fda82f3d322 100644 (file)
@@ -100,7 +100,7 @@ maxval_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_r10 (gfc_array_r10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index dd075229116828b065d0023e49b143adbce64576..1eaae8c5d34d8dbb9f66bbd4ff2a2cd2df6e0cae 100644 (file)
@@ -100,7 +100,7 @@ maxval_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_r16 (gfc_array_r16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f0ffddbce6c00e6cfb88392c3dc5666805c1e2c7..72ac583bfa0b6d45261c4d263f4e1d3522c9dc2b 100644 (file)
@@ -100,7 +100,7 @@ maxval_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_r4 (gfc_array_r4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8c33d363f02bdba6175482d407cf6844bdec0f73..de58c877d38955e8a44c1166c13ab43556062673 100644 (file)
@@ -100,7 +100,7 @@ maxval_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mmaxval_r8 (gfc_array_r8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ smaxval_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e0b6891b00732c1a25060e23c4a85ba85909d87c..c958fdc3201b26e089f6892a1b52ce6936234455 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_i1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index f392b729a4e0bdd8770354df2b26709eef42beaa..82c86b5adfeff79d470413fa5115a35365724e26 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_i16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index efb1c7bb97b2df48617115a0fe7adc51b71e482f..b32d560291d6c87ae586b1372731f81d107d5c60 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_i2 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index df5015c1778977872c04ef554d3112529bc0dd1b..977bbb6a59cab88b4a8ceec4d0d90ab70cb0494b 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_i4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index fc2e497b2d921fa80f4a98459f822c02a0f930db..a55c97e2fec316694ccc43bc7e5cf78d20150e00 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_i8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 82560dd3f6eb6722ad4356fb8790ff32730fe190..594e4337d464d997235dfb01a7295a7fb0d426c1 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_r10 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 4cdf480c8d023d2388ce224bcfa1dfbd993bc384..22bf13173fb056f6f25058ab89beb8fb82785954 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_r16 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 8b52b3e0b30d11ca9af7e58f10c2fe67c7f66b78..f7b8e9e6f9984f4a6e4fa4082e2809aa25c251e7 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_r4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index e5abdafc14d5a33938317b9c4cf7ab25c77c1325..3be2ea9b7b0f04f4ee0852833b9036730c63907f 100644 (file)
@@ -53,7 +53,7 @@ minloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -194,7 +194,7 @@ mminloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -362,7 +362,7 @@ sminloc0_16_r8 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index bdd4597620565162ffdfc27fe970d493d5d42f5f..524d27d1be224ca3f9890411a22e7174a53d48a9 100644 (file)
@@ -66,7 +66,7 @@ minloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -176,7 +176,7 @@ mminloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -309,7 +309,7 @@ sminloc0_16_s1 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 01fbc7966a4ec434cd61a413c4ec5e968b488d0e..736eaa35d2c219b73fd9675ce8e2b40be5d5e919 100644 (file)
@@ -66,7 +66,7 @@ minloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -176,7 +176,7 @@ mminloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
@@ -309,7 +309,7 @@ sminloc0_16_s4 (gfc_array_i16 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16));
     }
index 44cf4849f90b70a4bb00bbba03cfef2f632e76b2..acfbb9187773fbe4ed44d04095342418174001b3 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_i1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index c3bba2beeb188aa3506c496a594c9493a9ad8354..a47b20ecea08dce6feabd810d00501b01ea10651 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_i16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 6341c82e9efd25c92f517e505be93bb2b21b4a9f..8b378bab78699bda90df8dc27f3bd21d579b6bab 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_i2 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 22f24a22084c3dff4f8ca897621838a59ced1a80..b91d2bf8e224cf82987c294ec7241c96d9770235 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_i4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 950bdecca7d0572d464c8f40707673a639d7e705..ee87eaa872fbfe5d6a877acd03faeb607f8ba005 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_i8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 516d586bb1036521b5f56d1b4cbda486cd1ed686..9d39606b7b8c4412972324045f5829a9bdb86ccc 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_r10 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 792094cd666ff28102f6b4587b9c05ba5261a35a..be920c3243faa8a208dca9b433ec348cb6e1d28c 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_r16 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 72d4d9c32f9eb21f1f56d6925f6739144e0932a4..f5beb64171bc57de767bba089e50dea990774941 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_r4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index d540a4dc3ec9295cc601314cb7dcfb61eaf5b60d..2f6973ce8fd3d3919a436f294fbf0b0a90eecce8 100644 (file)
@@ -53,7 +53,7 @@ minloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -194,7 +194,7 @@ mminloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -362,7 +362,7 @@ sminloc0_4_r8 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 47d71c5174ab0eb6ce0d62eba1832c9910190227..111ee09c86f60cfa737f6bd9323cbd0aab63e082 100644 (file)
@@ -66,7 +66,7 @@ minloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -176,7 +176,7 @@ mminloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -309,7 +309,7 @@ sminloc0_4_s1 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 00ce3e958ff4bb6e12169e28fe68b2d21ee7cd80..d5379df00e36cfc1f1e45ca98b0efb3503717411 100644 (file)
@@ -66,7 +66,7 @@ minloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -176,7 +176,7 @@ mminloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
@@ -309,7 +309,7 @@ sminloc0_4_s4 (gfc_array_i4 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4));
     }
index 7f703855d63dfc960cc5a2dda03edb7887820831..cf7f5c1af713976a3aed616bd93584701db0d93f 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_i1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 79a13801af0a0d8c6bf30b796ce3f6d3bb607c9d..d703408f377eb212ff916997138061e49bc1571a 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_i16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index f4f4b0388b8b5930cf0a36c60d24fc7547fd045e..003c33b32c2b9293594e024035afebdcb49b6b74 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_i2 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 47138e2f8fe70da24d28fe0d4e9b85d412644138..4b2f245a8a43e8d1d982b07064cdcdc3e3313e2b 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_i4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index b92c106342c02cd4f7c8a829354b16eababc3e69..6f2dc2ece3ab8f0e033564f1a71532d6c8fb2477 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_i8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index aa89eab7ab0888e1f2c67a8b931236976f770c79..1f08628eb067584b468dd592efe3e16b8c633edc 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_r10 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index ffb34ce99e1e4bb94f33498497347bf01cefe725..e32fd136d02beb2d6511a2cb1b74fd4b90b8e47f 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_r16 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 5d60b685ee69f8e1e401fc3f0ca205a270ba133e..533e7484aec6c5153741dbd819af3d4de2543e09 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_r4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 72f1e7bf77fa06625d03185de88b97d4d8db978f..1eb7423a67639ef392bf87b3f069410803799ab7 100644 (file)
@@ -53,7 +53,7 @@ minloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -194,7 +194,7 @@ mminloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -362,7 +362,7 @@ sminloc0_8_r8 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index cefae903fec28d79df411fdece76cc8404eaf6dc..d7b6bee7784d40efc08d3283b3f30af361cab640 100644 (file)
@@ -66,7 +66,7 @@ minloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -176,7 +176,7 @@ mminloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -309,7 +309,7 @@ sminloc0_8_s1 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 162c9669f13be81e370933dca97369974711eef7..ca1910c169e0cb16cc6407074d277add0120eae1 100644 (file)
@@ -66,7 +66,7 @@ minloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -176,7 +176,7 @@ mminloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
@@ -309,7 +309,7 @@ sminloc0_8_s4 (gfc_array_i8 * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8));
     }
index 862ece8acb8626824402205f69dedad456ed46a2..e03ea37cd69bb54062e7ecaa75e167dd1ad0f247 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_i1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_i1 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_i1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e2dd18fafbbccb1388eede76544fda46780cce94..0ef0bdadd6406eb54f1bb17d7ab55d3acf1e3c72 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a9d5a5842f6bc5024a9c15453c7e0972d63257d3..df854ce9a3f8c9b5205c53e2a16f417f970bc3e1 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_i2 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_i2 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_i2 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index be38dec2467b24868be0a44ce4a2914b5e353e7f..8c02e7a2a8697b70bed57706e9d22924097a5e67 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 9b8361666952df2ce46510715a876351014add75..938da8d7c8b9c670e0a24e9058f82981ce14c1ce 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_i8 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_i8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 78f0ba0c61e468d42aa447445c3efb5a4be468ad..fbbcce6d4ec082c5f948332241c3ec462435bf12 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_r10 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_r10 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 2ff24c1331cac243e7dde7e26490963ad198ead9..4d3df6c81cc51574bbabe87d685aa1481b66f354 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_r16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_r16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8ac638afc628193764ca3808daeac85533751e00..ff62be42373d71083f6c68c919bc94fa7100a6b3 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_r4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_r4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 840956bcd9bf440a75c3a9105ac480502217541f..51ea636c34ddfd02208215b2c5574ec8b79280f4 100644 (file)
@@ -100,7 +100,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_16_r8 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_16_r8 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4c90fd1a2957d6411c585428818cf86e0deab9a3..51d49c2ebf964173b6d1783356761ac6c1264c30 100644 (file)
@@ -111,7 +111,7 @@ minloc1_16_s1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_16_s1 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_16_s1 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8afbccfc914692affb475071d16cb70ecd92f57b..cebf6b330c0c60fce715a1f107062782edad841e 100644 (file)
@@ -111,7 +111,7 @@ minloc1_16_s4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_16_s4 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_16_s4 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0f2a2be09e9ff60766efc405d33f015730ee5238..e9618771234ed722044a52be58d06d91282b51dc 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_i1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_i1 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_i1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d373c765999658647d83e261c9c3093d70a7ad67..3ea294e0a6528622c78f5ce6efec62fcba6e2551 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_i16 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_i16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 63aaee313158729b8e3ed48a195da8340d06c2a1..564c26265ee6632acfdbfeecc691b23e605f9ad0 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_i2 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_i2 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_i2 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 19aa5b2a5c75e7c31c1948f6b8e7c3dac02a7393..97dd9c2b2031f83fc4db1347795951090ddf69c1 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d9fe2c58f0d3240b4f9cd12417ca09c2b6d89c01..4c406326743808d0e1aa5c361b6f83f4f5e92030 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_i8 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_i8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 10373c34148a38eb7ddce15b7ea0fc649fda06e0..01903a796d150ac5ec6e184ccdef4933c55554c2 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_r10 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_r10 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ef0391f7019bed06e06e8d6131213264b7d82fc4..f266ea7a91f4e76ba243047121688e2cb3236efa 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_r16 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_r16 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index b70367da4983cd037f247f20bc3c58d330a16392..3f680e57661682feec00d69d8546eb9c75f9c69b 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_r4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_r4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 76fb6c857ee7d496453fa40da1e49e19cf332e57..dc425ef27bfdbe418518702b0abeac1ccc396702 100644 (file)
@@ -100,7 +100,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_4_r8 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_4_r8 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 9b942c92542b8a695ddc142e4b04e8a979a09be6..0b8c0e838623e73c1ce951c4398506ec8e0a7cab 100644 (file)
@@ -111,7 +111,7 @@ minloc1_4_s1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_4_s1 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_4_s1 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 33f08b7ba6a22545c36a9466512c2354a76d5bd7..c92f690fe30815374cda871517b1a19f52f700d7 100644 (file)
@@ -111,7 +111,7 @@ minloc1_4_s4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_4_s4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_4_s4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0644497c9111ed063302be0c216d6b515e45dcc8..913a7a698f73696a27d42c41872a00291dd5edc2 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_i1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_i1 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_i1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 1c9e8d893be958632e751a36ecae9b9c0197c16c..218b20c74d5e4bf88ab2380625342f3c9f6af25e 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_i16 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_i16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 3762ed1bf09f94500f618ab155b6e2334c5eb0c7..191bccee5e292e2fd6ad1225cc27c0e776be883b 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_i2 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_i2 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_i2 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index efbe13a107ef96b9906e100a603a6d2062a60818..ff6178607208024e1fb9b1bee409b704385392bd 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_i4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_i4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 6295ae317e298e965ec80288b6dd9c93c5374ec7..42f917c6d15401b933681bbbb804ec28f4cf819f 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f0f1d3f1c58a28f50b2aab0af7f524ddbf131bf5..603f57ba2bad361b1aec6fbde2afc96983389f88 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_r10 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_r10 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index dc321442f19c57de1de27482dbce87101c09ad51..cad0d001dc92d9c61b6d2e07ec124698754b14dc 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_r16 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_r16 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 5178236a6cb229da42fef591862073a4d4ee827e..15d7482abe5da8f9f500a80884df2ceebf9742fe 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_r4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_r4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 863a5130a4b8b40fbbc71c0acf5c811102d80611..7cd1c9d6f5943c554eb7c3d2caffef974cf96402 100644 (file)
@@ -100,7 +100,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -308,7 +308,7 @@ mminloc1_8_r8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -500,7 +500,7 @@ sminloc1_8_r8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 88ab4cf9a27bd37e348c223e267ec4e169cbe2dc..8428db2abb1c8fb09d826706bbbd00a7a6fae2e8 100644 (file)
@@ -111,7 +111,7 @@ minloc1_8_s1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_8_s1 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_8_s1 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 65fb691602694fbb23596ff40107a58019eeb3ba..8042dd230265986b4045825b948530b33223c766 100644 (file)
@@ -111,7 +111,7 @@ minloc1_8_s4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -304,7 +304,7 @@ mminloc1_8_s4 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -478,7 +478,7 @@ sminloc1_8_s4 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index c4f8cd1fc427a4929c90e2b1ca013f37e8e2e50c..153ce0d2b5f3f89b481a74bd77531507d9e5b403 100644 (file)
@@ -114,7 +114,7 @@ minval1_s1 (gfc_array_s1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
@@ -310,7 +310,7 @@ mminval1_s1 (gfc_array_s1 * const restrict retarray,
                 * string_len;
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -485,7 +485,7 @@ sminval1_s1 (gfc_array_s1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
index b513980bf6b6260fc729d126ea3161f56f300098..47c02833742342ba58794a564af0cba8802dc623 100644 (file)
@@ -114,7 +114,7 @@ minval1_s4 (gfc_array_s4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
@@ -310,7 +310,7 @@ mminval1_s4 (gfc_array_s4 * const restrict retarray,
                 * string_len;
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -485,7 +485,7 @@ sminval1_s4 (gfc_array_s4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
index 4794d254a46c11faea41e81360e3a0f6152d5c29..f57c5abbad24a8bdbc2f7d44a06607c54857311f 100644 (file)
@@ -100,7 +100,7 @@ minval_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index fc57082e3d86aaf4416ff1c75fcd2c520805c42b..11781a6f983b8cdefa843ef6ff33afa750972431 100644 (file)
@@ -100,7 +100,7 @@ minval_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 34c3e2f84f1fc4578200d1d2d74c531516f31a5c..b7869858d37ce6c2687e3f66007a551cbd425e17 100644 (file)
@@ -100,7 +100,7 @@ minval_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index de9f299e58bfd7d0ffff60b7799a6ebea3ddfb15..ecd0b4e9d75e854186667532b9cf7d8c1a9b74c3 100644 (file)
@@ -100,7 +100,7 @@ minval_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index b7351d8941d052de67ae890931e2bb99b36bb7d8..a4e8f78d950abf326a9c8a46d2bb858cefa585d7 100644 (file)
@@ -100,7 +100,7 @@ minval_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 76be913ed2f90e8320de156aa590f1795a67639d..0ac2185019c4e5a782343c119c01aace41ae0148 100644 (file)
@@ -100,7 +100,7 @@ minval_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_r10 (gfc_array_r10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0ddca0127d33eeb0672a40db0348df29871dae8f..bee128970d630be99e689ab27c298be2a1ffb311 100644 (file)
@@ -100,7 +100,7 @@ minval_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_r16 (gfc_array_r16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 6afb65626480799bc217bcc7f02915889451e8af..d47a9c8658af0672fa37b6f87b1cb6cdcbe08e5e 100644 (file)
@@ -100,7 +100,7 @@ minval_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_r4 (gfc_array_r4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index aa8243559381781e0527ac07475829fe03803fdd..05528470e8de0fea3aff4c31ffeb57ac55608424 100644 (file)
@@ -100,7 +100,7 @@ minval_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -301,7 +301,7 @@ mminval_r8 (gfc_array_r8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -488,7 +488,7 @@ sminval_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a8715abe4c02689ef258ae5ff8d9419bb9e5c398..37b3a879cd92c46d1d701ade638ce9707c2d5a0e 100644 (file)
@@ -103,7 +103,7 @@ norm2_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 7461abf7be740836ff30dc83182f77ca56e98871..faa06ba4d000c488bf7c02a607248f91d53b22b9 100644 (file)
@@ -107,7 +107,7 @@ norm2_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index c240fd385d21fdacb01d3fb5d109c1be5312eed1..22a006b8a3597b62a76f03b88d033e3b4b9e4e75 100644 (file)
@@ -103,7 +103,7 @@ norm2_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a2ec173758ed8eeb135b5679e9bbe2a00bbaf616..7b2a5ae0d7d06d1c384a304a5cb78443365fddda 100644 (file)
@@ -103,7 +103,7 @@ norm2_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 011c9c8a65dfb610ea0cfeadce6bcbc2bf21edcf..fe4e5c8245dfec2a096c4ddf5b87d9b424014c64 100644 (file)
@@ -100,7 +100,7 @@ parity_l1 (gfc_array_l1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8e08b2ff14a8907c39babb8490c5d7eff8f7924b..b74882cc6d0dab7b5ca0ab369ad69afc116ab831 100644 (file)
@@ -100,7 +100,7 @@ parity_l16 (gfc_array_l16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 0ae04ecd6e8d174d3da6e84424a50a21a981fbb2..9c0b0eb0f3962a8570b3018d5ed0efa334e59cf6 100644 (file)
@@ -100,7 +100,7 @@ parity_l2 (gfc_array_l2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 14a03cc6bcc29fd56f42e893044ba27b4db03c03..7506605e67ea4b8e147b01272dedb56d1667726b 100644 (file)
@@ -100,7 +100,7 @@ parity_l4 (gfc_array_l4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 86d1744823254c2aeb61ed9bfdc25334cbd47933..273c27285ed0b4fccd0fb8138dc249da7ad86b47 100644 (file)
@@ -100,7 +100,7 @@ parity_l8 (gfc_array_l8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ef9c98fcf12b5d12144c7eaffaeea1157afbc714..d78bab99765d62cb21968a62c871b22c016dbf2c 100644 (file)
@@ -100,7 +100,7 @@ product_c10 (gfc_array_c10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_c10 (gfc_array_c10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_c10 (gfc_array_c10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8e06baface2eecb98724b75abf4386f0c2ddf96f..7b6b1eedb5f31088b261535ef1d4c0ec57f54f17 100644 (file)
@@ -100,7 +100,7 @@ product_c16 (gfc_array_c16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_c16 (gfc_array_c16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_c16 (gfc_array_c16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 76fb9fb649464317b83945bf2e3d97f14ae3ac9c..ddb28bc5e81ca9e673a1f6c331ec2141c16876dd 100644 (file)
@@ -100,7 +100,7 @@ product_c4 (gfc_array_c4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_c4 (gfc_array_c4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_c4 (gfc_array_c4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 97dd825d844529fd713c9c4d5d1cb3df171841bd..e1705bc9c3cb5220e3e6c519344777a8cbec36be 100644 (file)
@@ -100,7 +100,7 @@ product_c8 (gfc_array_c8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_c8 (gfc_array_c8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_c8 (gfc_array_c8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 83e87b98f397e694783ddf826b43e3d88348b487..38f6f212d02eec9c19253397cc5448de3079d3b3 100644 (file)
@@ -100,7 +100,7 @@ product_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 462e5812796d84ce9af081db43508cde444366f7..58c51fb6b2e1ab20470242795acce7ceaf61fc15 100644 (file)
@@ -100,7 +100,7 @@ product_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index e99e3e340f80de87c60f9fc6780b7f544be0f634..b91ca7572954cc4126e500a6561aad93761449b3 100644 (file)
@@ -100,7 +100,7 @@ product_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ebca81e5c3ad8096ac6d2eebfcc447f6bae68735..246dc7e129b7ed8f28d951951f1298ac41323a28 100644 (file)
@@ -100,7 +100,7 @@ product_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 829171646fe32b28a8a6743955e9cefb27252fb3..a0e264f74c8a239345fd0bc0128c6a50bd1113b1 100644 (file)
@@ -100,7 +100,7 @@ product_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index f98aeed76fa004d14bb14f79fc1371c2ddf3f226..decefd7509e4a33ab0cf09ce9cd9bda6e9841f85 100644 (file)
@@ -100,7 +100,7 @@ product_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_r10 (gfc_array_r10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 042f04e64ce7a6c1d3ef57af63bb90298796646f..66f3ef91d97a2f0fab2c0f312fb45fdc9e682c05 100644 (file)
@@ -100,7 +100,7 @@ product_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_r16 (gfc_array_r16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 60985df9bf1ad3c117d357f87b2575f7d4266267..0f5f1f5d4ce75ba8c531786d554276473d48ca40 100644 (file)
@@ -100,7 +100,7 @@ product_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_r4 (gfc_array_r4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 196db93e93fd64add703ed02791f6cf005d59052..75ed99c501a4d84629a8a196cc9aed594272c2d5 100644 (file)
@@ -100,7 +100,7 @@ product_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ mproduct_r8 (gfc_array_r8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ sproduct_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 68331f67a9e075324fcca8002ecb1c26e050cfe8..6bf12fd6a6c877a0c0d08990a432be4a698ec703 100644 (file)
@@ -118,7 +118,7 @@ reshape_c10 (gfc_array_c10 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_10));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 546811e2dcb415e8e3fa89af5f381c30e48f932e..28e7eeb38c5f7bfda7d10f935dea0eb0ad310b92 100644 (file)
@@ -118,7 +118,7 @@ reshape_c16 (gfc_array_c16 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_16));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index c86a8c71f13ba4dd497dbfb12d9d6171e16a1784..15997a067dffb4dbd0cdd10e9c01b75d19b01d35 100644 (file)
@@ -118,7 +118,7 @@ reshape_c4 (gfc_array_c4 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_4));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index cb99994dd16e0eb8ba1649569e628351b80172a5..be5457f252e9c46f2870104df5f42f8119a06bf2 100644 (file)
@@ -118,7 +118,7 @@ reshape_c8 (gfc_array_c8 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_8));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 0d4d7069dba5a88f77436aad3347e56bfff9138f..3d4d516fc4e627b5f205b1eb23940f70b8012f42 100644 (file)
@@ -118,7 +118,7 @@ reshape_16 (gfc_array_i16 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index fd356b50a13ed2d0b75586e794575e1e57c81a68..64fae81ff37315a6d29ed3885930ee638e3e7cdc 100644 (file)
@@ -118,7 +118,7 @@ reshape_4 (gfc_array_i4 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 6a16e39de8d45242a4abf138af843154ebb87cbd..aa675a7fd88d792db16ba5a3287b24193e554600 100644 (file)
@@ -118,7 +118,7 @@ reshape_8 (gfc_array_i8 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index e47eabfd78fb69f3ce38bd00008dd435b6839063..2feac5adcea4a648faa33a8e878e9fdf5b7c9609 100644 (file)
@@ -118,7 +118,7 @@ reshape_r10 (gfc_array_r10 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_10));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 7236d2b880daec1a203c5839728b43eeb30ba42b..bbfd2adc6f7f108dbd153909a44c605196f82577 100644 (file)
@@ -118,7 +118,7 @@ reshape_r16 (gfc_array_r16 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_16));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 483e726bb902c443b5567c6bcae128da3781e808..b0f27dc1b4685ee0ed17a048fd6ebec532ea107f 100644 (file)
@@ -118,7 +118,7 @@ reshape_r4 (gfc_array_r4 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_4));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 011f252b57ac6279f6f65964f7ba42fdadbfc3f0..bd0d2bcb3267b175a744d65dfc82919fddf5d586 100644 (file)
@@ -118,7 +118,7 @@ reshape_r8 (gfc_array_r8 * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_8));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index eca8ab9ccf63b23887648d5ce48f8934ec84f0ea..70aa950ab6604a4a76042795f5d2ba8bb067a5bd 100644 (file)
@@ -72,7 +72,7 @@ spread_c10 (gfc_array_c10 *ret, const gfc_array_c10 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 5297954aeba3652f4dceb0a15a615a96f00372e6..9a284a1d8407e62b162547b2e8adc98b2f473534 100644 (file)
@@ -72,7 +72,7 @@ spread_c16 (gfc_array_c16 *ret, const gfc_array_c16 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index b7dc830342b4fa4109f3cb76d23e84fc86d02e1c..dbb12d57ac9ecd23acbcbd0702e3fb8581dad281 100644 (file)
@@ -72,7 +72,7 @@ spread_c4 (gfc_array_c4 *ret, const gfc_array_c4 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 6887db13fc5321783201876d637acd50134b427f..09f371fe63f8c6ca801b31968e08bb974199fe9e 100644 (file)
@@ -72,7 +72,7 @@ spread_c8 (gfc_array_c8 *ret, const gfc_array_c8 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 11596b7585d6a7b165bd8049dfc1c0a96b952823..6c56bfcbb6038df3af286986ac284051e73ba2ad 100644 (file)
@@ -72,7 +72,7 @@ spread_i1 (gfc_array_i1 *ret, const gfc_array_i1 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index d948d8ed96e678252a87763a3188a22756ee126a..a00ed752aa8642f60445c5c5c91076045d9b1808 100644 (file)
@@ -72,7 +72,7 @@ spread_i16 (gfc_array_i16 *ret, const gfc_array_i16 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 7baf814971a57489c4b9dcb63bd88c7ab6403085..f48d66e37134c6e90de55e51ac307626290e4d90 100644 (file)
@@ -72,7 +72,7 @@ spread_i2 (gfc_array_i2 *ret, const gfc_array_i2 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index b93a3ee0620793a75903e86d00465e949a30437f..5703cd63be8a7a93a8a22ccfd5ade0bb92c85f54 100644 (file)
@@ -72,7 +72,7 @@ spread_i4 (gfc_array_i4 *ret, const gfc_array_i4 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index fa0bc49829a9783fec186e3b7bcbf83ce794faaa..25465a1620b2a5a72e9d9d8a736fbedda87cc2be 100644 (file)
@@ -72,7 +72,7 @@ spread_i8 (gfc_array_i8 *ret, const gfc_array_i8 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 32ed6066d9d88b4662f592095c349b0b3221a092..5f9b021880eeff0a12adbb8f88ddcf55487844b2 100644 (file)
@@ -72,7 +72,7 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 9d9cb8c01a537ed002fbf113cc9496f337676536..df0007fcd9eb2bdf8a83d3536a61e384aafffc1a 100644 (file)
@@ -72,7 +72,7 @@ spread_r16 (gfc_array_r16 *ret, const gfc_array_r16 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 96d15875f5a11cb31167cafcf62a18e8f4bd3b60..e64bf71498abe36342505df6e5bd9b21f551d8b9 100644 (file)
@@ -72,7 +72,7 @@ spread_r4 (gfc_array_r4 *ret, const gfc_array_r4 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index bba49c5c495a5c3e25125478c0db3824a8272e80..ca5b2f27b35c154aa94da4d68313dbeea9d35fcb 100644 (file)
@@ -72,7 +72,7 @@ spread_r8 (gfc_array_r8 *ret, const gfc_array_r8 *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
index 3603eb02ec1aa2fdb40e0d4e9c1a941c5e3f494e..9083745614cfd67b76e1c4c3e18f5432bd0992ac 100644 (file)
@@ -100,7 +100,7 @@ sum_c10 (gfc_array_c10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_c10 (gfc_array_c10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_c10 (gfc_array_c10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index a8869409e1f5ea5fe8dcdecb5f23a1f8c13cab48..15c2d6b4f10af94667e8a49fb22d3e1f7fb6ce80 100644 (file)
@@ -100,7 +100,7 @@ sum_c16 (gfc_array_c16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_c16 (gfc_array_c16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_c16 (gfc_array_c16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 1d0015cdb5b060bf64b71c115438e65f0710932e..654ed6098a06559cd4bc9289ee8dc4fd0f715c56 100644 (file)
@@ -100,7 +100,7 @@ sum_c4 (gfc_array_c4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_c4 (gfc_array_c4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_c4 (gfc_array_c4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 54a1626ede86042c9867670b71008f76029a773a..1313c5d72ae0eddd02594c71d8c453f54ae9d58d 100644 (file)
@@ -100,7 +100,7 @@ sum_c8 (gfc_array_c8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_c8 (gfc_array_c8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_c8 (gfc_array_c8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 74908b9c321601b432a81dc2dfb659af7b3bdb64..a6d3043ef6bc01b75065eaee754646adb1314e43 100644 (file)
@@ -100,7 +100,7 @@ sum_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_i1 (gfc_array_i1 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_i1 (gfc_array_i1 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d490c7e773fa326f41811a663c6598f09e25c7cb..d8f80b0bcda53641131212643ab61109104d1f43 100644 (file)
@@ -100,7 +100,7 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_i16 (gfc_array_i16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index d5a91e916229073500478f47895cfe257fff89e6..49209c4d68133bcfabd9290fa95892ec161d8352 100644 (file)
@@ -100,7 +100,7 @@ sum_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_i2 (gfc_array_i2 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_i2 (gfc_array_i2 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4eba054c7209a0c26231c07184a92cbcc983da5e..39954d179cf8c791606f65580f9b7c95a7bad5ca 100644 (file)
@@ -100,7 +100,7 @@ sum_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_i4 (gfc_array_i4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_i4 (gfc_array_i4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 203c83c4b0bbcf8ef38fd47148b64158a8cc38b9..6fb7d9b967cf258613719b9e1407aa6a34a36c8c 100644 (file)
@@ -100,7 +100,7 @@ sum_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_i8 (gfc_array_i8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_i8 (gfc_array_i8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index ba28045843d5a93fc8bd8445484681310b59c143..dcafdec8d8e86cfd62a3255cfb4603177f56cd68 100644 (file)
@@ -100,7 +100,7 @@ sum_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_r10 (gfc_array_r10 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_r10 (gfc_array_r10 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 593711c0c39758c7b1af06fee7dcf129115609e9..e230e6107c736fb7263c00e1966dbf383915814f 100644 (file)
@@ -100,7 +100,7 @@ sum_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_r16 (gfc_array_r16 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_r16 (gfc_array_r16 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 24d4bfdea04313edbc1f3f877cd43524d37cd8d9..a2bca49e35cf7d6855e5513e59e8b09690d2eb09 100644 (file)
@@ -100,7 +100,7 @@ sum_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_r4 (gfc_array_r4 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_r4 (gfc_array_r4 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 24b882e127b0fa83c32d7eedc70a3a0bedfadbbd..7c2836e54598cd176015d748444cc407b2ba5a5d 100644 (file)
@@ -100,7 +100,7 @@ sum_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -287,7 +287,7 @@ msum_r8 (gfc_array_r8 * const restrict retarray,
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ ssum_r8 (gfc_array_r8 * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 8063d861e1250b61275e015927fa938894c2d199..b07da9c5c332b7e320f5117d0a630ed65e90cde9 100644 (file)
@@ -61,7 +61,7 @@ cshift0 (gfc_array_char * ret, const gfc_array_char * array,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 6500b1d73fa01e515af4b14cf409a106af9c47a8..c14b485f001f495e5762adcc722986eb27c093b5 100644 (file)
@@ -66,7 +66,7 @@ eoshift0 (gfc_array_char * ret, const gfc_array_char * array,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 64a9c22eac0edc5a62e6d84e10c97e4a3c414c1f..fc532a5ed2bec2f4c7db8af2004ccbcd8352ccde 100644 (file)
@@ -72,7 +72,7 @@ eoshift2 (gfc_array_char *ret, const gfc_array_char *array,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
 
       /* xmallocarray allocates a single byte for zero size.  */
       ret->base_addr = xmallocarray (arraysize, size);
index aa93c47fc696ec36bd00f297111e3c92148ae8c6..c8a0caa59a5f0096eabe09b1663086d188f08603 100644 (file)
@@ -46,7 +46,7 @@ move_alloc (gfc_array_char * from, gfc_array_char * to)
     }
 
   to->offset = from->offset;
-  to->dtype = from->dtype;
+  GFC_DTYPE_COPY(to,from);
   to->base_addr = from->base_addr;
   from->base_addr = NULL;
 }
index a858e29fb8d59e2fdb801afc065ff3f743a1d39b..94e45f510f9bc207ae947a3f82b07c94d8cf250d 100644 (file)
@@ -107,7 +107,7 @@ reshape_internal (parray *ret, parray *source, shape_type *shape,
 
       ret->base_addr = xmallocarray (alloc_size, size);
 
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index 0f28e35fb7596986ee1882283ce19c5ad9729eaa..83ecc1d2e580121076a97652f7b63fb37378fce4 100644 (file)
@@ -71,7 +71,7 @@ spread_internal (gfc_array_char *ret, const gfc_array_char *source,
 
       size_t ub, stride;
 
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)
@@ -464,7 +464,7 @@ spread_scalar (gfc_array_char *ret, const char *source,
 {
   index_type type_size;
 
-  if (!ret->dtype)
+  if (GFC_DTYPE_IS_UNSET(ret))
     runtime_error ("return array missing descriptor in spread()");
 
   type_size = GFC_DTYPE_TYPE_SIZE(ret);
@@ -625,7 +625,7 @@ spread_char_scalar (gfc_array_char *ret,
                    const index_type *pncopies,
                    GFC_INTEGER_4 source_length __attribute__((unused)))
 {
-  if (!ret->dtype)
+  if (GFC_DTYPE_IS_UNSET(ret))
     runtime_error ("return array missing descriptor in spread()");
   spread_internal_scalar (ret, source, along, pncopies);
 }
@@ -643,7 +643,7 @@ spread_char4_scalar (gfc_array_char *ret,
                     const index_type *pncopies,
                     GFC_INTEGER_4 source_length __attribute__((unused)))
 {
-  if (!ret->dtype)
+  if (GFC_DTYPE_IS_UNSET(ret))
     runtime_error ("return array missing descriptor in spread()");
   spread_internal_scalar (ret, source, along, pncopies);
 
index 2dfa2d67c4537a8b47ce02056daac0c790c572ab..86e1253a5c1c7689f958db31c1d3397359f84fed 100644 (file)
@@ -578,7 +578,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector,
     }
 
   memset (&tmp, 0, sizeof (tmp));
-  tmp.dtype = 0;
+  GFC_DTYPE_CLEAR(&tmp);
   tmp.base_addr = field;
   unpack_internal (ret, vector, mask, &tmp, GFC_DESCRIPTOR_SIZE (vector));
 }
@@ -602,7 +602,7 @@ unpack0_char (gfc_array_char *ret,
     unpack_bounds (ret, vector, mask, NULL);
 
   memset (&tmp, 0, sizeof (tmp));
-  tmp.dtype = 0;
+  GFC_DTYPE_CLEAR(&tmp);
   tmp.base_addr = field;
   unpack_internal (ret, vector, mask, &tmp, vector_length);
 }
@@ -626,7 +626,7 @@ unpack0_char4 (gfc_array_char *ret,
     unpack_bounds (ret, vector, mask, NULL);
 
   memset (&tmp, 0, sizeof (tmp));
-  tmp.dtype = 0;
+  GFC_DTYPE_CLEAR(&tmp);
   tmp.base_addr = field;
   unpack_internal (ret, vector, mask, &tmp,
                   vector_length * sizeof (gfc_char4_t));
index 84df19e3c6f0916222242326500ce47beead229a..4c643b7e17bff577ddcd7f6788e9805cefdf57ce 100644 (file)
@@ -413,6 +413,17 @@ typedef gfc_array_i4 gfc_array_s4;
 
 #define GFC_DTYPE_TYPE_SIZE(desc) ((desc)->dtype & GFC_DTYPE_TYPE_SIZE_MASK)
 
+/* Macros to set size and type information.  */
+
+#define GFC_DTYPE_COPY(a,b) do { (a)->dtype = (b)->dtype; } while(0)
+#define GFC_DTYPE_COPY_SETRANK(a,b,n) \
+  do { \
+  (a)->dtype = (((b)->dtype & ~GFC_DTYPE_RANK_MASK) | n ); \
+  } while (0)
+
+#define GFC_DTYPE_IS_UNSET(a) (unlikely((a)->dtype == 0))
+#define GFC_DTYPE_CLEAR(a) do { (a)->dtype = 0; } while(0)
+
 #define GFC_DTYPE_INTEGER_1 ((BT_INTEGER << GFC_DTYPE_TYPE_SHIFT) \
    | (sizeof(GFC_INTEGER_1) << GFC_DTYPE_SIZE_SHIFT))
 #define GFC_DTYPE_INTEGER_2 ((BT_INTEGER << GFC_DTYPE_TYPE_SHIFT) \
index 6c53a48bf9d220a9538219f85d1e067a289a54fd..07241a506a655d5f374e153f9852d16df3dcac8e 100644 (file)
@@ -82,7 +82,7 @@ cshift1 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index de15142fadfbb9275c6bcf5e791ec6e413c98e75..aab46fd08a558f674d4b248e597e5f14816d2c37 100644 (file)
@@ -88,7 +88,7 @@ eoshift1 (gfc_array_char * const restrict ret,
       int i;
 
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index e3ac06a1baed38b8202e932e6dae1c8579a5d10b..a8077496760fe9ce9818cdad6d3b62baad607b28 100644 (file)
@@ -90,7 +90,7 @@ eoshift3 (gfc_array_char * const restrict ret,
 
       ret->base_addr = xmallocarray (arraysize, size);
       ret->offset = 0;
-      ret->dtype = array->dtype;
+      GFC_DTYPE_COPY(ret,array);
       for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
         {
          index_type ub, str;
index 39868ddf3eef6a553c2466b14506dcce5715085b..c62a1f734cb643a89fa223ea9d75b4fa38cef16d 100644 (file)
@@ -37,7 +37,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
@@ -140,7 +140,7 @@ void
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
@@ -271,7 +271,7 @@ void
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
index e7521e62537b83d11d97ab06ef9f0d4a266a1198..2b9e7dd73f3355162d9e841c9d3f31884089c824 100644 (file)
@@ -28,7 +28,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
@@ -131,7 +131,7 @@ void
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
@@ -262,7 +262,7 @@ void
   if (retarray->base_addr == NULL)
     {
       GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1);
-      retarray->dtype = (retarray->dtype & ~GFC_DTYPE_RANK_MASK) | 1;
+      GFC_DTYPE_COPY_SETRANK(retarray,retarray,1);
       retarray->offset = 0;
       retarray->base_addr = xmallocarray (rank, sizeof (rtype_name));
     }
index 93ca694c8263773fdc478ee31840ea84ddb5bbf5..0f0c28fa4167332207f1de4ccac215ea976c0bdf 100644 (file)
@@ -101,7 +101,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -288,7 +288,7 @@ void
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -446,7 +446,7 @@ void
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 4eb09084dde96b0ea7c7f91bd98759ed9110e36a..27c2236b402d2c4313b4bc8ad5cea38312dc0f8a 100644 (file)
@@ -104,7 +104,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
@@ -296,7 +296,7 @@ void
                 * string_len;
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -457,7 +457,7 @@ void
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]
                 * string_len;
index 7777a0c8c078e525e8ba6fdeefc7351c079f9a4c..fa10a8b84cb968c88d1ab809f8e8dc4d017889bd 100644 (file)
@@ -90,7 +90,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
@@ -277,7 +277,7 @@ void
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       if (alloc_size == 0)
        {
@@ -435,7 +435,7 @@ void
        }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index fda8812cc51f3543aedeeafe09cb799b3232aa3a..d58c2a0ab216a5cf59a3fd5e2f8132adc3efecf2 100644 (file)
@@ -87,7 +87,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
         }
 
       retarray->offset = 0;
-      retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+      GFC_DTYPE_COPY_SETRANK(retarray,array,rank);
 
       alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
 
index 67ad094b9c35cba44473291bb1a305cb5b178bf5..79cbca3feed5c36a0fde968900f28d89df5200db 100644 (file)
@@ -122,7 +122,7 @@ reshape_'rtype_ccode` ('rtype` * const restrict ret,
         alloc_size = rs;
 
       ret->base_addr = xmallocarray (alloc_size, sizeof ('rtype_name`));
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rdim;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rdim);
     }
 
   if (shape_empty)
index c4ac6e2f3994357f8ac6bb012072207907946d05..e8c52aad144560ce5fab250e4bebb3382033cb4c 100644 (file)
@@ -73,7 +73,7 @@ spread_'rtype_code` ('rtype` *ret, const 'rtype` *source,
 
       /* The front end has signalled that we need to populate the
         return array descriptor.  */
-      ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+      GFC_DTYPE_COPY_SETRANK(ret,source,rrank);
       dim = 0;
       rs = 1;
       for (n = 0; n < rrank; n++)