This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/29962] Initialization expressions checking in gfc_intrinsic_func_interface
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Nov 2006 21:10:27 -0000
- Subject: [Bug fortran/29962] Initialization expressions checking in gfc_intrinsic_func_interface
- References: <bug-29962-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from burnus at gcc dot gnu dot org 2006-11-23 21:10 -------
I just realized I was too brief:
There are three types of initialization expressions (IE):
- Valid in F95
- Added as valid F2003
- Only valid as GNU extensions
We need to check:
- Is there a non-elemental function in the IE
- Is the list in gfc_init_expr_extensions() correct:
/* FIXME: This should be moved into the intrinsic definitions. */
static const char * const init_expr_extensions[] = {
"digits", "epsilon", "huge", "kind", "maxexponent", "minexponent",
"precision", "present", "radix", "range", "selected_real_kind",
"tiny", NULL
It is currently used in gfc_intrinsic_func_interface as:
if (gfc_init_expr && flag && gfc_init_expr_extensions (specific))
- Do we miss some other restriction?
- Do we miss another change between F95 and F2003 except that
noninteger/noncharacter arguments to elemental intrinsics are allowed?
- Is it possible to reach the "gfc_notify_std (GFC_STD_GNU," block, if one
checks for "if (expr->ts.type != BT_INTEGER && expr->ts.type != BT_CHARACTER)"
and does one allows things in F2003 which should not be allowed?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29962