------- 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