diff options
author | jiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-19 10:02:52 +0000 |
---|---|---|
committer | jiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-19 10:02:52 +0000 |
commit | ea687d00b78acd70c4ffb40273d9f82a5472792f (patch) | |
tree | f360ca302ff7c15dd21a43595f424c4a18467b7f | |
parent | 1cbf0a8454757ac5315d3bebfad4de88b6a75570 (diff) | |
download | gcc-ea687d00b78acd70c4ffb40273d9f82a5472792f.tar.gz |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/reginfo.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43662.c | 24 |
4 files changed, 37 insertions, 0 deletions
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 <jie@codesourcery.com> + + PR target/43662 + * reginfo.c (reinit_regs): Set caller_save_initialized_p + to false. + 2010-04-19 Ira Rosen <irar@il.ibm.com> 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 <jie@codesourcery.com> + + PR target/43662 + * gcc.target/i386/pr43662.c: New test. + 2010-04-19 Dodji Seketeli <dodji@redhat.com> 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; +} |