From: Jakub Jelinek Date: Thu, 26 Apr 2001 11:36:23 +0000 (+0200) Subject: integrate.c (expand_inline_function): Check for error_mark_node in actual argument. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3b07c79b24188241f5f76b5b08e68234b02e24e1;p=gcc.git integrate.c (expand_inline_function): Check for error_mark_node in actual argument. * integrate.c (expand_inline_function): Check for error_mark_node in actual argument. * gcc.dg/noncompile/20010425-1.c: New test. From-SVN: r41587 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7fd71305dfc..092820c2060 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-04-26 Jakub Jelinek + + * integrate.c (expand_inline_function): Check for error_mark_node + in actual argument. + 2001-04-26 Jakub Jelinek * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for diff --git a/gcc/integrate.c b/gcc/integrate.c index 1955c0511bd..2417661cc1e 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -650,7 +650,8 @@ expand_inline_function (fndecl, parms, target, ignore, type, arg = TREE_VALUE (actual); mode = TYPE_MODE (DECL_ARG_TYPE (formal)); - if (mode != TYPE_MODE (TREE_TYPE (arg)) + if (arg == error_mark_node + || mode != TYPE_MODE (TREE_TYPE (arg)) /* If they are block mode, the types should match exactly. They don't match exactly if TREE_TYPE (FORMAL) == ERROR_MARK_NODE, which could happen if the parameter has incomplete type. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8025228b6f6..7fea9e9be4e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-04-26 Jakub Jelinek + + * gcc.dg/noncompile/20010425-1.c: New test. + 2001-04-26 Nathan Sidwell * g++.old-deja/g++.pt/mangle2.C: New test. diff --git a/gcc/testsuite/gcc.dg/noncompile/20010425-1.c b/gcc/testsuite/gcc.dg/noncompile/20010425-1.c new file mode 100644 index 00000000000..e36269e8d93 --- /dev/null +++ b/gcc/testsuite/gcc.dg/noncompile/20010425-1.c @@ -0,0 +1,9 @@ +__inline__ void bar(int x) +{ + (void)x; +} + +void foo(void) +{ + bar(baz); /* { dg-error "undeclared|for each function" } */ +}