[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2009-06-21 Thread tkoenig at gcc dot gnu dot org


--- Comment #6 from tkoenig at gcc dot gnu dot org  2009-06-21 19:25 ---
Subject: Bug 37577

Author: tkoenig
Date: Sun Jun 21 19:24:55 2009
New Revision: 148769

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148769
Log:
2009-06-21  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
Port from fortran-dev
* runtime/in_pack_generic (internal_pack):  Remove unnecessary
test for stride == 0.
* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
of stride in shape argument.  Use array access macros for
accessing array descriptors.
* libgfortran.h (struct descriptor_dimension):  Change stride
to _stride, lbound to _lbound and ubound to _ubound.
(GFC_DIMENSION_LBOUND):  Use new name(s) in struct
descriptor_dimension.
(GFC_DIMENSION_UBOUND):  Likewise.
(GFC_DIMENSION_STRIDE):  Likewise.
(GFC_DIMENSION_EXTENT):  Likewise.
(GFC_DIMENSION_SET):  Likewise.
(GFC_DESCRIPTOR_LBOUND):  Likewise.
(GFC_DESCRIPTOR_UBOUND):  Likewise.
(GFC_DESCRIPTOR_EXTENT):  Likewise.
(GFC_DESCRIPTOR_STRIDE):  Likewise.
* io/transfer.c (transfer_array):  Use array access macros.
Use byte-sized strides.
* intrinsics/eoshift0.c (eoshift0):  Use array access
macros everywhere.
* m4/in_pack.m4 (internal_pack_'rtype_ccode`):  Use
array access macros for accessing array descriptors.
* m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):
Likewise.
* m4/matmull.m4 (matmul_'rtype_code`):  Likewise.
* m4/matmul.m4 (matmul_'rtype_code`):  Likewise.
* m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
(unpack1_'rtype_code`):  Likewise.
* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Use array access
macros everywhere.
* intrinsics/dtime.c (dtime_sub):  Use array access macros
for accessing array descriptors.
* intrinsics/cshift0 (cshift0):  Likewise.
* intrinsics/etime.c:  Likewise.  Remove redundant calculation
of rdim.
* m4/cshift0.m4 (cshift0_'rtype_code`):  Use array access macros
for accessing array descriptors.
* m4/pack.m4 (pack_'rtype_code`):  Likewise.
* m4/spread.m4 (spread_'rtype_code`):  Likewise.
(spread_scalar_'rtype_code`):  Likewise.
* m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
* m4/eoshift1.m4 (eoshift1):  Likewise.  Remove size argument,
calculate within function.
(eoshift1_'atype_kind`):  Remove size argument from call
to eoshift1.
(eoshift1_'atype_kind`_char):  Likewise.
(eoshift1_'atype_kind`_char4):  Likewise.
* m4/eoshift3.m4 (eoshift3):  Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(eoshift3_'atype_kind`):  Remove size argument from call
to eoshift1.
(eoshift3_'atype_kind`_char):  Likewise.
(eoshift3_'atype_kind`_char4):  Likewise.
* m4/shape.m4 (shape_'rtype_kind`):  Use array access macros
for accessing array descriptors.
* m4/cshift1.m4 (cshift1): Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(cshift1_'atype_kind`):  Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char):  Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char4):  Remove size argument from call to
cshift1.
* m4/reshape.m4 (reshape_'rtype_ccode`):  Use array access macros
for accessing array descriptors.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
* intrinsics/pack_generic.c (pack_internal):  Use array access
macros for accessing array descriptors.
(pack_s_internal):  Likewise.
* intrinsics/transpose_generic.c (transpose_internal):  Remove
size argument, calculate from array descriptor. Use array
access macros for accessing array descriptors.
(transpose):  Remove size argument from call.
(transpoe_char):  Likewise.
(transpose_char4):  Likewise.
* intrinsics/move_alloc.c (move_alloc):  Use array access macros
for accessing array descriptors.
* intrinsics/spread_generic.c (spread_internal):  Remove size
argument, calculate from array descriptor.  Use array access
macros for accessing array descriptors.
(spread_internal_scalar):  Likewise.
(spread):  Remove size argument from call to spread_internal.
(spread_char):  Mark argument source_length as unused.
   

[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2009-05-30 Thread tkoenig at gcc dot gnu dot org


--- Comment #5 from tkoenig at gcc dot gnu dot org  2009-05-30 13:17 ---
Subject: Bug 37577

Author: tkoenig
Date: Sat May 30 13:17:14 2009
New Revision: 148002

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148002
Log:
2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
PR libfortran/40187
* runtime/in_pack_generic (internal_pack):  Remove unnecessary
test for stride == 0.
* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
of stride in shape argument.  Use array access macros for
accessing array descriptors.
* libgfortran.h (struct descriptor_dimension):  Change stride
to _stride, lbound to _lbound and ubound to _ubound.
(GFC_DIMENSION_LBOUND):  Use new name(s) in struct
descriptor_dimension.
(GFC_DIMENSION_UBOUND):  Likewise.
(GFC_DIMENSION_STRIDE):  Likewise.
(GFC_DIMENSION_EXTENT):  Likewise.
(GFC_DIMENSION_SET):  Likewise.
(GFC_DESCRIPTOR_LBOUND):  Likewise.
(GFC_DESCRIPTOR_UBOUND):  Likewise.
(GFC_DESCRIPTOR_EXTENT):  Likewise.
(GFC_DESCRIPTOR_STRIDE):  Likewise.
* io/transfer.c (transfer_array):  Use array access macros.
Use byte-sized strides.

2009-05-30  Thomas Koenig  tkoe...@gcc.gnu.org

PR libfortran/40187
* gfortran.dg/c_f_pointer_shape_tests_4.f03:  New file.
* gfortran.dg/c_f_pointer_shape_tests_4_driver.c:  New file.


Added:
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4.f03
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_4_driver.c
Modified:
branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
branches/fortran-dev/libgfortran/ChangeLog.dev
branches/fortran-dev/libgfortran/intrinsics/iso_c_binding.c
branches/fortran-dev/libgfortran/io/transfer.c
branches/fortran-dev/libgfortran/libgfortran.h
branches/fortran-dev/libgfortran/runtime/in_pack_generic.c
branches/fortran-dev/libgfortran/runtime/in_unpack_generic.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37577



[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2009-05-16 Thread tkoenig at gcc dot gnu dot org


--- Comment #3 from tkoenig at gcc dot gnu dot org  2009-05-16 16:36 ---
Subject: Bug 37577

Author: tkoenig
Date: Sat May 16 16:36:22 2009
New Revision: 147618

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=147618
Log:
2009-05-16  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
* intrinsics/dtime.c (dtime_sub):  Use array access macros
for accessing array descriptors.
* intrinsics/cshift0 (cshift0):  Likewise.
* intrinsics/etime.c:  Likewise.  Remove redundant calculation
of rdim.
* m4/cshift0.m4 (cshift0_'rtype_code`):  Use array access macros
for accessing array descriptors.
* m4/pack.m4 (pack_'rtype_code`):  Likewise.
* m4/spread.m4 (spread_'rtype_code`):  Likewise.
(spread_scalar_'rtype_code`):  Likewise.
* m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
* m4/eoshift1.m4 (eoshift1):  Likewise.  Remove size argument,
calculate within function.
(eoshift1_'atype_kind`):  Remove size argument from call
to eoshift1.
(eoshift1_'atype_kind`_char):  Likewise.
(eoshift1_'atype_kind`_char4):  Likewise.
* m4/eoshift3.m4 (eoshift3):  Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(eoshift3_'atype_kind`):  Remove size argument from call
to eoshift1.
(eoshift3_'atype_kind`_char):  Likewise.
(eoshift3_'atype_kind`_char4):  Likewise.
* m4/shape.m4 (shape_'rtype_kind`):  Use array access macros
for accessing array descriptors.
* m4/cshift1.m4 (cshift1): Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(cshift1_'atype_kind`):  Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char):  Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char4):  Remove size argument from call to
cshift1.
* m4/reshape.m4 (reshape_'rtype_ccode`):  Use array access macros
for accessing array descriptors.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
* generated/cshift0_c10.c: Regenerated.
* generated/cshift0_c16.c: Regenerated.
* generated/cshift0_c4.c: Regenerated.
* generated/cshift0_c8.c: Regenerated.
* generated/cshift0_i1.c: Regenerated.
* generated/cshift0_i16.c: Regenerated.
* generated/cshift0_i2.c: Regenerated.
* generated/cshift0_i4.c: Regenerated.
* generated/cshift0_i8.c: Regenerated.
* generated/cshift0_r10.c: Regenerated.
* generated/cshift0_r16.c: Regenerated.
* generated/cshift0_r4.c: Regenerated.
* generated/cshift0_r8.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/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_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_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/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.
 

[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2009-05-08 Thread tkoenig at gcc dot gnu dot org


--- Comment #2 from tkoenig at gcc dot gnu dot org  2009-05-08 06:27 ---
Subject: Bug 37577

Author: tkoenig
Date: Fri May  8 06:27:37 2009
New Revision: 147269

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=147269
Log:
2009-05-08  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/37577
* intrinsics/pack_generic.c (pack_internal):  Use array access
macros for accessing array descriptors.
(pack_s_internal):  Likewise.
* intrinsics/transpose_generic.c (transpose_internal):  Remove
size argument, calculate from array descriptor. Use array
access macros for accessing array descriptors.
(transpose):  Remove size argument from call.
(transpoe_char):  Likewise.
(transpose_char4):  Likewise.
* intrinsics/move_alloc.c (move_alloc):  Use array access macros
for accessing array descriptors.
* intrinsics/spread_generic.c (spread_internal):  Remove size
argument, calculate from array descriptor.  Use array access
macros for accessing array descriptors.
(spread_internal_scalar):  Likewise.
(spread):  Remove size argument from call to spread_internal.
(spread_char):  Mark argument source_length as unused.
Remove size argument from call to spread_internal.
(spread_char4):  Likewise.
(spread_char_scalar):  Likewise.
(spread_char4_scalar):  Likewise.
* intrinsics/unpack_generic.c (unpack_internal):  Use array access
macros for accessing array descriptors.
* intrinsics/eoshift2.c (eoshift2):  Remove size argument, calculate
from array descriptor instead.  Use array access macros for
accessing array descriptors.
(eoshift2_##N):  Remove size argument from call to eoshift2.
(eoshift2_##N_##char):  Likewise.
(eoshift2_##N_##char4):  Likewise.
* intrinsics/reshape_generic.c (reshape_internal):  Use array
access macross for accessing array descriptors.


Modified:
branches/fortran-dev/libgfortran/ChangeLog.dev
branches/fortran-dev/libgfortran/intrinsics/eoshift2.c
branches/fortran-dev/libgfortran/intrinsics/move_alloc.c
branches/fortran-dev/libgfortran/intrinsics/pack_generic.c
branches/fortran-dev/libgfortran/intrinsics/reshape_generic.c
branches/fortran-dev/libgfortran/intrinsics/spread_generic.c
branches/fortran-dev/libgfortran/intrinsics/transpose_generic.c
branches/fortran-dev/libgfortran/intrinsics/unpack_generic.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37577



[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2008-09-26 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-09-26 11:38 ---
See also: http://gcc.gnu.org/wiki/ArrayDescriptorUpdate


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37577



[Bug fortran/37577] Change internal array descriptor format for better syntax, C interop TR, rank 15

2008-09-19 Thread tkoenig at gcc dot gnu dot org


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-09-19 18:53:57
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37577