From e338758dd12b17eb04531917bca8790504ae2078 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek <jakub@redhat.com> Date: Mon, 20 Jul 2009 16:38:46 +0200 Subject: [PATCH] re PR tree-optimization/40792 (internal error in com_mpi.c at -O3 for gcc 4.4.0) PR tree-optimization/40792 * tree.c (build_function_type_skip_args): Remove bogus assert. * gcc.dg/pr40792.c: New test. From-SVN: r149822 --- gcc/ChangeLog | 5 +++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr40792.c | 21 +++++++++++++++++++++ gcc/tree.c | 1 - 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/pr40792.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 82a3ab0e83b9..c24dbe3c421c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-07-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/40792 + * tree.c (build_function_type_skip_args): Remove bogus assert. + 2009-07-20 Jan Hubicka <jh@suse.cz> Martin Jambor <mjambor@suse.cz> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index daac3e82e4e9..2e778c60c0c5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-07-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/40792 + * gcc.dg/pr40792.c: New test. + 2009-07-20 Ira Rosen <irar@il.ibm.com> * gcc.dg/vect/vect-cond-1.c, gcc.dg/vect/vect-cond-2.c, diff --git a/gcc/testsuite/gcc.dg/pr40792.c b/gcc/testsuite/gcc.dg/pr40792.c new file mode 100644 index 000000000000..41f080e542ef --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr40792.c @@ -0,0 +1,21 @@ +/* PR tree-optimization/40792 */ +/* { dg-do compile } */ +/* { dg-options "-O3" } */ + +void foo (int, char *, int *); + +void +bar (int *a, int *b, ...) +{ + int c; + char d[256]; + foo (*b, d, &c); +} + +static int a, b; + +void +baz (int c) +{ + bar (&a, &b); +} diff --git a/gcc/tree.c b/gcc/tree.c index b32e209e83e1..44178aff65ca 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -6299,7 +6299,6 @@ build_function_type_skip_args (tree orig_type, bitmap args_to_skip) else new_reversed = void_list_node; } - gcc_assert (new_reversed); /* Use copy_node to preserve as much as possible from original type (debug info, attribute lists etc.) -- GitLab