FANDOM


このページを編集する際は,編集に関する方針に従ってください. 編集

概要 編集

引数 編集

  • void

実装 編集

とりあえず,時間計測関係は無視しよう (ひとりごと)

1924 static void
1925 do_compile (void)
1926 {
1927   /* Initialize timing first.  The C front ends read the main file in
1928      the post_options hook, and C++ does file timings.  */
1929   if (time_report || !quiet_flag  || flag_detailed_statistics)
1930     timevar_init ();
1931   timevar_start (TV_TOTAL);
1932 
1933   process_options ();
1934 
1935   /* Don't do any more if an error has already occurred.  */
1936   if (!errorcount)
1937     {
1938       /* This must be run always, because it is needed to compute the FP
1939          predefined macros, such as __LDBL_MAX__, for targets using non
1940          default FP formats.  */
1941       init_adjust_machine_modes ();
1942 
1943       /* Set up the back-end if requested.  */
1944       if (!no_backend)
1945         backend_init ();
1946 

  • 各言語に固有の初期化処理.言語に応じてどの呼び出す関数を変えるために,struct lang_hooks構造体のインスタンスを作り,処理に対応する関数ポインタで初期化したりする.

1947       /* Language-dependent initialization.  Returns true on success.  */
1948       if (lang_dependent_init (main_input_filename))
1949         compile_file ();
1950 
1951       finalize ();
1952     }
1953 
1954   /* Stop timing and print the times.  */
1955   timevar_stop (TV_TOTAL);
1956   timevar_print (stderr);
1957 }



リンク元