re PR fortran/30432 ([4.1 only] gfortran.dg/c_by_val_1.f fails on ia64-*-*, problem with %VAL)

PR fortran/30432
	* trans-types.c (gfc_get_function_type):  Do not add void_type_node
	to empty arg list.
	* trans-decl.c (create_function_arglist): Change assert.

From-SVN: r121347
This commit is contained in:
Steve Ellcey 2007-01-30 17:49:24 +00:00 committed by Steve Ellcey
parent d6c716bdd8
commit 884d2e6b28
3 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2007-01-30 Steve Ellcey <sje@cup.hp.com>
PR fortran/30432
* trans-types.c (gfc_get_function_type): Do not add void_type_node
to empty arg list.
* trans-decl.c (create_function_arglist): Change assert.
2007-01-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30554

View file

@ -1512,7 +1512,8 @@ create_function_arglist (gfc_symbol * sym)
/* Add the hidden string length parameters. */
arglist = chainon (arglist, hidden_arglist);
gcc_assert (TREE_VALUE (hidden_typelist) == void_type_node);
gcc_assert (hidden_typelist == NULL_TREE
|| TREE_VALUE (hidden_typelist) == void_type_node);
DECL_ARGUMENTS (fndecl) = arglist;
}

View file

@ -1768,7 +1768,8 @@ gfc_get_function_type (gfc_symbol * sym)
while (nstr--)
typelist = gfc_chainon_list (typelist, gfc_charlen_type_node);
typelist = gfc_chainon_list (typelist, void_type_node);
if (typelist)
typelist = gfc_chainon_list (typelist, void_type_node);
if (alternate_return)
type = integer_type_node;