From: Jan Hubicka Date: Mon, 8 May 2006 21:42:17 +0000 (+0200) Subject: re PR middle-end/25962 (Pointer (null) check after the use in cgraph.c) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=04f77d0f3b194ada4e89a3bf8df3b55bf370fbfa;p=platform%2Fupstream%2Fgcc.git re PR middle-end/25962 (Pointer (null) check after the use in cgraph.c) PR middle-end/25962 * cgraphunit.c (decide_is_function_needed): When not optimizing even unused static functions are needed. * gcc.dg/pr25962.c: New. From-SVN: r113633 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f660c99..e685cdb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-05-08 Jan Hubicka + + PR middle-end/25962 + * cgraphunit.c (decide_is_function_needed): When not optimizing even + unused static functions are needed. + 2006-05-08 Roger Sayle PR target/27158 diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 4a7f90e..351f5f0 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -216,8 +216,12 @@ decide_is_function_needed (struct cgraph_node *node, tree decl) return true; /* Externally visible functions must be output. The exception is - COMDAT functions that must be output only when they are needed. */ - if ((TREE_PUBLIC (decl) && !flag_whole_program) + COMDAT functions that must be output only when they are needed. + + When not optimizing, also output the static functions. (see + PR25962) + */ + if (((TREE_PUBLIC (decl) || !optimize) && !flag_whole_program) && !DECL_COMDAT (decl) && !DECL_EXTERNAL (decl)) return true; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0911cd9..bd2076b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-05-08 Jan Hubicka + + PR middle-end/25962 + * gcc.dg/pr25962.c: New. + 2006-05-08 Roger Sayle PR target/27158 diff --git a/gcc/testsuite/gcc.dg/pr25962.c b/gcc/testsuite/gcc.dg/pr25962.c new file mode 100644 index 0000000..20ac00e --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr25962.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-O0" } */ +/* { dg-final { scan-assembler "debug_hook" } } */ +static int debug_hook() +{ +}