diff options
author | Lee Millward <lee.millward@codesourcery.com> | 2006-12-02 16:34:26 +0000 |
---|---|---|
committer | Lee Millward <lmillward@gcc.gnu.org> | 2006-12-02 16:34:26 +0000 |
commit | f1f66b423f6033acb84815a34b66b231d6cf9816 (patch) | |
tree | bcebee8678ff5fef2ad9a5caab017702e2e1d785 /gcc/c-decl.c | |
parent | cc0faf9dc9bd8e74387359cb40fc95de92ea5e2f (diff) | |
download | gcc-f1f66b423f6033acb84815a34b66b231d6cf9816.zip gcc-f1f66b423f6033acb84815a34b66b231d6cf9816.tar.gz gcc-f1f66b423f6033acb84815a34b66b231d6cf9816.tar.bz2 |
re PR c/27953 (ICE with invalid function definitions)
PR c/27953
* c-decl.c (store_parm_decls_oldstyle): Robustify
* gcc.dg/pr27953.c: New test.
From-SVN: r119446
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r-- | gcc/c-decl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index fa1c340..bd737d1 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6482,8 +6482,8 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info) tree type; for (parm = DECL_ARGUMENTS (fndecl), type = current_function_prototype_arg_types; - parm || (type && (TYPE_MAIN_VARIANT (TREE_VALUE (type)) - != void_type_node)); + parm || (type && TREE_VALUE (type) != error_mark_node + && (TYPE_MAIN_VARIANT (TREE_VALUE (type)) != void_type_node)); parm = TREE_CHAIN (parm), type = TREE_CHAIN (type)) { if (parm == 0 || type == 0 |