move init_real_once invocation

Richard Henderson rth@redhat.com
Wed Sep 18 17:13:00 GMT 2002


Fixes one of the reported real.c regressions, but I forget which.
Comment should be self-explanitory.


r~


        * toplev.c (backend_init): Move init_real_once invocation ...
        (do_compile): ... here.

Index: toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.674
diff -c -p -d -r1.674 toplev.c
*** toplev.c	16 Sep 2002 16:36:33 -0000	1.674
--- toplev.c	19 Sep 2002 00:11:10 -0000
*************** backend_init ()
*** 5156,5164 ****
    /* init_emit_once uses reg_raw_mode and therefore must be called
       after init_regs which initialized reg_raw_mode.  */
    init_regs ();
-   /* Similarly, init_emit_once uses floating point numbers, and
-      thus must follow init_real_once.  */
-   init_real_once ();
    init_emit_once (debug_info_level == DINFO_LEVEL_NORMAL
  		  || debug_info_level == DINFO_LEVEL_VERBOSE
  #ifdef VMS_DEBUGGING_INFO
--- 5156,5161 ----
*************** do_compile ()
*** 5324,5329 ****
--- 5321,5331 ----
       says if we run timers or not.  */
    init_timevar ();
    timevar_start (TV_TOTAL);
+ 
+   /* We need to initialize real.c in order to define __FLT_MIN__ etc,
+      which must happen even with -E.  But with -E we'll suppress the
+      rest of backend_init.  */
+   init_real_once ();
  
    /* Set up the back-end if requested.  */
    if (!no_backend)



More information about the Gcc-patches mailing list