2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-09 17:01:06 +08:00

winnt.c (gen_stdcall_suffix): Quit summation of total parm size if a parm has incomplete type.

* config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
	total parm size if a parm has incomplete type.
	(gen_fastcall_suffix): Likewise.

From-SVN: r71543
This commit is contained in:
Danny Smith 2003-09-18 21:16:02 +00:00 committed by Danny Smith
parent 3e86b595ac
commit 7229527c2c
2 changed files with 14 additions and 2 deletions
gcc
ChangeLog
config/i386

@ -1,3 +1,9 @@
2003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
* config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
total parm size if a parm has incomplete type.
(gen_fastcall_suffix): Likewise.
2003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* except.c (output_function_exception_table): Adjust last change

@ -420,7 +420,10 @@ gen_fastcall_suffix (tree decl)
{
tree formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl));
while (TREE_VALUE (formal_type) != void_type_node)
/* Quit if we hit an incomplete type. Error is reported
by convert_arguments in c-typeck.c or cp/typeck.c. */
while (TREE_VALUE (formal_type) != void_type_node
&& COMPLETE_TYPE_P (TREE_VALUE (formal_type)))
{
int parm_size
= TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type)));
@ -458,7 +461,10 @@ gen_stdcall_suffix (tree decl)
{
tree formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl));
while (TREE_VALUE (formal_type) != void_type_node)
/* Quit if we hit an incomplete type. Error is reported
by convert_arguments in c-typeck.c or cp/typeck.c. */
while (TREE_VALUE (formal_type) != void_type_node
&& COMPLETE_TYPE_P (TREE_VALUE (formal_type)))
{
int parm_size
= TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type)));