------- 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

Reply via email to