This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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]

[Java PATCH] An attempt at removing a "Gross hack"


Zack suggested in a private conversation that setting TREE_ADDRESSABLE
should also force a function to be emitted.

Bootstrapped and regtested with no new failures on i686-pc-linux-gnu,
(but I'm not sure if regtesting also covers this code...).  Is this OK
for mainline?

Gr.
Steven


Attachment: ChangeLog.entry
Description: Text document

Index: resource.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/resource.c,v
retrieving revision 1.6
diff -c -3 -p -r1.6 resource.c
*** resource.c	20 Jun 2003 09:08:23 -0000	1.6
--- resource.c	21 Jul 2003 09:13:13 -0000
*************** write_resource_constructor (void)
*** 143,156 ****
    input_location = DECL_SOURCE_LOCATION (init_decl);
    expand_function_end ();
    poplevel (1, 0, 1);
!   { 
!     /* Force generation, even with -O3 or deeper.  Gross hack.
!        FIXME.  */
!     int saved_flag = flag_inline_functions;
!     flag_inline_functions = 0;	
!     rest_of_compilation (init_decl);
!     flag_inline_functions = saved_flag;
!   }
    current_function_decl = NULL_TREE;
    (* targetm.asm_out.constructor) (XEXP (DECL_RTL (init_decl), 0),
  				   DEFAULT_INIT_PRIORITY);
--- 143,154 ----
    input_location = DECL_SOURCE_LOCATION (init_decl);
    expand_function_end ();
    poplevel (1, 0, 1);
! 
!   /* Force RTL generation, even with -finline_functions, by making
!      the function addressable.  */
!   TREE_ADDRESSABLE (init_decl) = 1;
!   rest_of_compilation (init_decl);
! 
    current_function_decl = NULL_TREE;
    (* targetm.asm_out.constructor) (XEXP (DECL_RTL (init_decl), 0),
  				   DEFAULT_INIT_PRIORITY);

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