summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 675cdf249cf..725c3762767 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -969,7 +969,6 @@ compile_file (void)
init_final (main_input_filename);
coverage_init (aux_base_name);
statistics_init ();
- initialize_plugins ();
timevar_push (TV_PARSE);
@@ -1164,6 +1163,8 @@ print_version (FILE *file, const char *indent)
file == stderr ? _(fmt4) : fmt4,
indent, *indent != 0 ? " " : "",
PARAM_VALUE (GGC_MIN_EXPAND), PARAM_VALUE (GGC_MIN_HEAPSIZE));
+
+ print_plugins_versions (file, indent);
}
#ifdef ASM_COMMENT_START
@@ -2273,6 +2274,11 @@ toplev_main (unsigned int argc, const char **argv)
init_local_tick ();
+ initialize_plugins ();
+
+ if (version_flag)
+ print_version (stderr, "");
+
/* Exit early if we can (e.g. -help). */
if (!exit_after_options)
do_compile ();
@@ -2283,6 +2289,7 @@ toplev_main (unsigned int argc, const char **argv)
/* Invoke registered plugin callbacks if any. */
invoke_plugin_callbacks (PLUGIN_FINISH, NULL);
+ finalize_plugins ();
if (errorcount || sorrycount)
return (FATAL_EXIT_CODE);