From: jiez Date: Mon, 19 Apr 2010 10:02:52 +0000 (+0000) Subject: PR target/43662 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=ea687d00b78acd70c4ffb40273d9f82a5472792f PR target/43662 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false. testsuite/ PR target/43662 * gcc.target/i386/pr43662.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158509 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 98c80045f99..23f76a3fd05 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-04-19 Jie Zhang + + PR target/43662 + * reginfo.c (reinit_regs): Set caller_save_initialized_p + to false. + 2010-04-19 Ira Rosen PR tree-optimization/37027 diff --git a/gcc/reginfo.c b/gcc/reginfo.c index ee6c7ee6447..bf43d702da5 100644 --- a/gcc/reginfo.c +++ b/gcc/reginfo.c @@ -666,6 +666,8 @@ void reinit_regs (void) { init_regs (); + /* caller_save needs to be re-initialized. */ + caller_save_initialized_p = false; ira_init (); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8215f8363b8..01a26024149 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-19 Jie Zhang + + PR target/43662 + * gcc.target/i386/pr43662.c: New test. + 2010-04-19 Dodji Seketeli PR c++/43704 diff --git a/gcc/testsuite/gcc.target/i386/pr43662.c b/gcc/testsuite/gcc.target/i386/pr43662.c new file mode 100644 index 00000000000..246c8aafa6e --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43662.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target lp64 } */ +/* { dg-options "-O2" } */ + +void __attribute__ ((ms_abi)) foo (void) +{ +} + +typedef struct _IAVIStreamImpl +{ + int sInfo; + int has; +} IAVIStreamImpl; + +extern int __attribute__ ((ms_abi)) aso (void *); +extern int sre (void *); + +int AVIFILE_OpenCompressor (IAVIStreamImpl *This) +{ + if (This->has != 0) + aso (&This->has); + sre (&This->sInfo); + return 0; +}