This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/22003] [4.1 Regression] -freorder-blocks-and-partition and thunks


------- Additional Comments From steven at gcc dot gnu dot org  2005-07-27 00:01 -------
The problem with the missing CFG is in method.c:use_thunk() 
 
We go through the RTL path without lowering the thunk: 
=============================================== 
  if (this_adjusting 
      && targetm.asm_out.can_output_mi_thunk (thunk_fndecl, fixed_offset, 
                                              virtual_value, alias)) 
    { 
      const char *fnname; 
      current_function_decl = thunk_fndecl; 
      DECL_RESULT (thunk_fndecl) 
        = build_decl (RESULT_DECL, 0, integer_type_node); 
      fnname = XSTR (XEXP (DECL_RTL (thunk_fndecl), 0), 0); 
      init_function_start (thunk_fndecl); 
      current_function_is_thunk = 1; 
      assemble_start_function (thunk_fndecl, fnname); 
 
      targetm.asm_out.output_mi_thunk (asm_out_file, thunk_fndecl, 
                                       fixed_offset, virtual_value, alias); 
 
      assemble_end_function (thunk_fndecl, fnname); 
      current_function_decl = 0; 
      cfun = 0; 
      TREE_ASM_WRITTEN (thunk_fndecl) = 1; 
    } 
=============================================== 
 
Honza, your thoughts please. 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org
   Last reconfirmed|2005-06-10 21:02:16         |2005-07-27 00:01:09
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22003


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]