This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/22362] [3.4/4.0/4.1 Regression] static function calls and global register variables
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jul 2005 14:37:55 -0000
- Subject: [Bug target/22362] [3.4/4.0/4.1 Regression] static function calls and global register variables
- References: <20050708072145.22362.peter@hawkins.emu.id.au>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-08 14:37 -------
What is happening is that MR_deep_copy_typeclass_info is not being inlined but instead GCC changes
the how the arguments are passed, via registers. This is a target bug.
The bug is in:
/* Use register calling convention for local functions when possible. */
if (!TARGET_64BIT && !user_convention && decl
&& flag_unit_at_a_time && !profile_flag)
{
This is a latent bug in 3.4.0 also. In a way this could be reproduced in 3.4.0. This is a 3.4.0 and 4.0.0
and 4.1.0 regression (even though it is harder to reproduce in 3.4.0 and 4.1.0).
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|c |target
Ever Confirmed| |1
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2005-07-08 14:37:52
date| |
Summary|Register allocation problem |[3.4/4.0/4.1 Regression]
|in combination with -funit- |static function calls and
|at-a-time and global |global register variables
|register variables |
Target Milestone|--- |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22362