aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2013-03-27 11:45:58 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2013-03-27 11:45:58 +0100
commit1a8c1e35b38094868dacad28eed2373233088dd2 (patch)
tree250e755fad9572f8dcf4d3ab8eb89f9394a11c3d /gcc/fortran/intrinsic.c
parent7d24f650fa1886c29e2431c969e5b7e6f8a50836 (diff)
downloadgcc-1a8c1e35b38094868dacad28eed2373233088dd2.zip
gcc-1a8c1e35b38094868dacad28eed2373233088dd2.tar.gz
gcc-1a8c1e35b38094868dacad28eed2373233088dd2.tar.bz2
re PR fortran/56650 (Odd error messages with C_SIZEOF for valid code)
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. From-SVN: r197159
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r--gcc/fortran/intrinsic.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 358c33e..2a51d10 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);