]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR fortran/44649 ([OOP] F2008: storage_size intrinsic (also working for polymorphi...
authorJanus Weil <janus@gcc.gnu.org>
Thu, 8 Jul 2010 21:29:56 +0000 (23:29 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Thu, 8 Jul 2010 21:29:56 +0000 (23:29 +0200)
commit048510c866c4e2759a8e26abaa4bc47db98124c0
tree2c2688fd89455d0aaad357e44fa2022e5e323962
parent1df15c3d3a09de53400da2a844e2af40ca1dbc0c
re PR fortran/44649 ([OOP] F2008: storage_size intrinsic (also working for polymorphic types))

2010-07-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44649
* gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
* intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
gfc_resolve_storage_size): New prototypes.
* check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
* intrinsic.c (add_functions): Add STORAGE_SIZE.
* iresolve.c (gfc_resolve_storage_size): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
arguments.
(gfc_conv_intrinsic_storage_size): New function.
(gfc_conv_intrinsic_function): Handle STORAGE_SIZE.

2010-07-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44649
* gfortran.dg/c_sizeof_1.f90: Modified.
* gfortran.dg/storage_size_1.f08: New.
* gfortran.dg/storage_size_2.f08: New.

From-SVN: r161977
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/gfortran.h
gcc/fortran/intrinsic.c
gcc/fortran/intrinsic.h
gcc/fortran/iresolve.c
gcc/fortran/trans-intrinsic.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/c_sizeof_1.f90
gcc/testsuite/gfortran.dg/storage_size_1.f08 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/storage_size_2.f08 [new file with mode: 0644]