diff options
author | Mark Mitchell <mark@codesourcery.com> | 2003-10-03 00:23:30 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-10-03 00:23:30 +0000 |
commit | 5114f0ed903dbb7bb427ee5f27299d6a6d7b63a8 (patch) | |
tree | a29492c41d187f6449d2fccca3645bfd46041637 /gcc | |
parent | 5e499a4de0ab0402e843bc9e442427d8289a8390 (diff) | |
download | gcc-5114f0ed903dbb7bb427ee5f27299d6a6d7b63a8.zip gcc-5114f0ed903dbb7bb427ee5f27299d6a6d7b63a8.tar.gz gcc-5114f0ed903dbb7bb427ee5f27299d6a6d7b63a8.tar.bz2 |
re PR rtl-optimization/12180 (Inline optimization fails for variadic function)
PR optimization/12180
* tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
functions containing calls to
PR optimization/12180
* gcc.dg/20031002-1.c: New test.
From-SVN: r72057
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20031002-1.c | 14 | ||||
-rw-r--r-- | gcc/tree-inline.c | 2 |
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4d974fc..e0a7661 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-02 Mark Mitchell <mark@codesourcery.com> + + PR optimization/12180 + * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of + functions containing calls to + 2003-10-02 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.c (mips_emit_prefetch): Use operand 3 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5d992b1..66b71f5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2003-10-02 Mark Mitchell <mark@codesourcery.com> + PR optimization/12180 + * gcc.dg/20031002-1.c: New test. + PR c++/12486 * g++.dg/inherit/error1.C: New test. diff --git a/gcc/testsuite/gcc.dg/20031002-1.c b/gcc/testsuite/gcc.dg/20031002-1.c new file mode 100644 index 0000000..fb80fbc --- /dev/null +++ b/gcc/testsuite/gcc.dg/20031002-1.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +void generic_sendmsg (char *fmt, ...) +{ + __builtin_next_arg(fmt); +} + +void generic_sendstat() +{ + double t; + + generic_sendmsg("F %3.2f", t); +} diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 0cec45b..e2b08cd 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -922,6 +922,8 @@ inline_forbidden_p_1 (tree *nodep, int *walk_subtrees ATTRIBUTE_UNUSED, arguments. */ case BUILT_IN_VA_START: case BUILT_IN_STDARG_START: + case BUILT_IN_NEXT_ARG: + case BUILT_IN_VA_END: { inline_forbidden_reason = N_("%Jfunction '%F' can never be inlined because it " |