diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-27 10:45:58 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-27 10:45:58 +0000 |
commit | 6bf5e54c4e597049c4e120dd27c3ad32793a0f4e (patch) | |
tree | 250e755fad9572f8dcf4d3ab8eb89f9394a11c3d /gcc/fortran/intrinsic.c | |
parent | f837b1f7f69567b23948a58270dfbaec774e33b8 (diff) | |
download | gcc-6bf5e54c4e597049c4e120dd27c3ad32793a0f4e.tar.gz |
2013-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/56650
PR fortran/36437
* check.c (gfc_check_sizeof, gfc_check_c_sizeof,
gfc_check_storage_size): Update checks.
* intrinsic.texi (SIZEOF): Correct class.
* intrinsic.h (gfc_simplify_sizeof,
gfc_simplify_storage_size): New prototypes.
* intrinsic.c (add_functions): Use them.
* simplify.c (gfc_simplify_sizeof,
gfc_simplify_storage_size): New functions.
2013-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/56650
PR fortran/36437
* gfortran.dg/sizeof_2.f90: New.
* gfortran.dg/sizeof_3.f90: New.
* gfortran.dg/sizeof_proc.f90: Update dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197159 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r-- | gcc/fortran/intrinsic.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 358c33e02b7..2a51d10ffb6 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -2698,7 +2698,7 @@ add_functions (void) make_from_module(); add_sym_1 ("sizeof", GFC_ISYM_SIZEOF, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER, ii, - GFC_STD_GNU, gfc_check_sizeof, NULL, NULL, + GFC_STD_GNU, gfc_check_sizeof, gfc_simplify_sizeof, NULL, x, BT_UNKNOWN, 0, REQUIRED); make_generic ("sizeof", GFC_ISYM_SIZEOF, GFC_STD_GNU); @@ -2724,7 +2724,7 @@ add_functions (void) add_sym_1 ("c_sizeof", GFC_ISYM_C_SIZEOF, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, gfc_index_integer_kind, GFC_STD_F2008, - gfc_check_c_sizeof, NULL, NULL, + gfc_check_c_sizeof, gfc_simplify_sizeof, NULL, x, BT_UNKNOWN, 0, REQUIRED); make_from_module(); @@ -2782,7 +2782,8 @@ add_functions (void) add_sym_2 ("storage_size", GFC_ISYM_STORAGE_SIZE, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008, - gfc_check_storage_size, NULL, gfc_resolve_storage_size, + gfc_check_storage_size, gfc_simplify_storage_size, + gfc_resolve_storage_size, a, BT_UNKNOWN, 0, REQUIRED, kind, BT_INTEGER, di, OPTIONAL); |