gcc-8.3/gcc/toplev/main()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#k1411400]
#backlinks
*説明 [#a366383b]
-パス: [[gcc-8.3/gcc/toplev.c]]
-FIXME: これは何?
--GCC のコンパイラ本体(cc1 コマンド)の main 関数
**引数 [#k0c2a8ce]
-
--
**返り値 [#xf1d6f43]
-
--
**参考 [#ue01b305]
*実装 [#mcc4b535]
/* Entry point of cc1, cc1plus, jc1, f771, etc.
Exit code is FATAL_EXIT_CODE if can't open files or i...
any errors, or SUCCESS_EXIT_CODE if compilation succe...
It is not safe to call this function more than once. ...
int
toplev::main (int argc, char **argv)
{
/* Parsing and gimplification sometimes need quite lar...
Increase stack size limits if possible. */
stack_limit_increase (64 * 1024 * 1024);
expandargv (&argc, &argv);
/* Initialization of GCC's environment, and diagnostic...
general_init (argv[0], m_init_signals);
/* One-off initialization of options that does not nee...
repeated when options are added for particular func...
init_options_once ();
init_opts_obstack ();
/* Initialize global options structures; this must be ...
each structure used for parsing options. */
init_options_struct (&global_options, &global_options_...
lang_hooks.init_options_struct (&global_options);
/* Convert the options to an array. */
decode_cmdline_options_to_array_default_mask (argc,
CONST_CAST2 (const char **,
char **, argv),
&save_decoded_options,
&save_decoded_options_count);
/* Perform language-specific options initialization. */
lang_hooks.init_options (save_decoded_options_count, s...
/* Parse the options and do minimal processing; basica...
enough to default flags appropriately. */
decode_options (&global_options, &global_options_set,
save_decoded_options, save_decoded_options_count,
UNKNOWN_LOCATION, global_dc,
targetm.target_option.override);
handle_common_deferred_options ();
init_local_tick ();
initialize_plugins ();
if (version_flag)
print_version (stderr, "", true);
if (help_flag)
print_plugins_help (stderr, "");
/* Exit early if we can (e.g. -help). */
if (!exit_after_options)
{
if (m_use_TV_TOTAL)
start_timevars ();
do_compile ();
}
if (warningcount || errorcount || werrorcount)
print_ignored_options ();
if (flag_self_test)
run_self_tests ();
/* Invoke registered plugin callbacks if any. Some pl...
emit some diagnostics here. */
invoke_plugin_callbacks (PLUGIN_FINISH, NULL);
if (flag_diagnostics_generate_patch)
{
gcc_assert (global_dc->edit_context_ptr);
pretty_printer pp;
pp_show_color (&pp) = pp_show_color (global_dc->pr...
global_dc->edit_context_ptr->print_diff (&pp, true);
pp_flush (&pp);
}
diagnostic_finish (global_dc);
finalize_plugins ();
after_memory_report = true;
if (seen_error () || werrorcount)
return (FATAL_EXIT_CODE);
return (SUCCESS_EXIT_CODE);
}
*コメント [#ge11e576]
終了行:
*参照元 [#k1411400]
#backlinks
*説明 [#a366383b]
-パス: [[gcc-8.3/gcc/toplev.c]]
-FIXME: これは何?
--GCC のコンパイラ本体(cc1 コマンド)の main 関数
**引数 [#k0c2a8ce]
-
--
**返り値 [#xf1d6f43]
-
--
**参考 [#ue01b305]
*実装 [#mcc4b535]
/* Entry point of cc1, cc1plus, jc1, f771, etc.
Exit code is FATAL_EXIT_CODE if can't open files or i...
any errors, or SUCCESS_EXIT_CODE if compilation succe...
It is not safe to call this function more than once. ...
int
toplev::main (int argc, char **argv)
{
/* Parsing and gimplification sometimes need quite lar...
Increase stack size limits if possible. */
stack_limit_increase (64 * 1024 * 1024);
expandargv (&argc, &argv);
/* Initialization of GCC's environment, and diagnostic...
general_init (argv[0], m_init_signals);
/* One-off initialization of options that does not nee...
repeated when options are added for particular func...
init_options_once ();
init_opts_obstack ();
/* Initialize global options structures; this must be ...
each structure used for parsing options. */
init_options_struct (&global_options, &global_options_...
lang_hooks.init_options_struct (&global_options);
/* Convert the options to an array. */
decode_cmdline_options_to_array_default_mask (argc,
CONST_CAST2 (const char **,
char **, argv),
&save_decoded_options,
&save_decoded_options_count);
/* Perform language-specific options initialization. */
lang_hooks.init_options (save_decoded_options_count, s...
/* Parse the options and do minimal processing; basica...
enough to default flags appropriately. */
decode_options (&global_options, &global_options_set,
save_decoded_options, save_decoded_options_count,
UNKNOWN_LOCATION, global_dc,
targetm.target_option.override);
handle_common_deferred_options ();
init_local_tick ();
initialize_plugins ();
if (version_flag)
print_version (stderr, "", true);
if (help_flag)
print_plugins_help (stderr, "");
/* Exit early if we can (e.g. -help). */
if (!exit_after_options)
{
if (m_use_TV_TOTAL)
start_timevars ();
do_compile ();
}
if (warningcount || errorcount || werrorcount)
print_ignored_options ();
if (flag_self_test)
run_self_tests ();
/* Invoke registered plugin callbacks if any. Some pl...
emit some diagnostics here. */
invoke_plugin_callbacks (PLUGIN_FINISH, NULL);
if (flag_diagnostics_generate_patch)
{
gcc_assert (global_dc->edit_context_ptr);
pretty_printer pp;
pp_show_color (&pp) = pp_show_color (global_dc->pr...
global_dc->edit_context_ptr->print_diff (&pp, true);
pp_flush (&pp);
}
diagnostic_finish (global_dc);
finalize_plugins ();
after_memory_report = true;
if (seen_error () || werrorcount)
return (FATAL_EXIT_CODE);
return (SUCCESS_EXIT_CODE);
}
*コメント [#ge11e576]
ページ名: