diff options
author | Richard Guenther <rguenther@suse.de> | 2011-10-26 11:48:09 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-10-26 11:48:09 +0000 |
commit | 4559db79d8d4d34a30c578260094efd430489f17 (patch) | |
tree | 6dbae3ec7fb8969a6a36176743d3e9bd22099796 /gcc/lto-wrapper.c | |
parent | e43451aaaf45b9d8d43f6dd2aa1ac1b51d6089ed (diff) | |
download | gcc-4559db79d8d4d34a30c578260094efd430489f17.zip gcc-4559db79d8d4d34a30c578260094efd430489f17.tar.gz gcc-4559db79d8d4d34a30c578260094efd430489f17.tar.bz2 |
lto-wrapper.c (run_gcc): Properly init/free obstack.
2011-10-26 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (run_gcc): Properly init/free obstack.
From-SVN: r180521
Diffstat (limited to 'gcc/lto-wrapper.c')
-rw-r--r-- | gcc/lto-wrapper.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index f5f3dd2..f0a3cf3 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -339,7 +339,6 @@ run_gcc (unsigned argc, char *argv[]) char *list_option_full = NULL; const char *linker_output = NULL; const char *collect_gcc, *collect_gcc_options; - struct obstack env_obstack; int parallel = 0; int jobserver = 0; bool no_partition = false; @@ -517,11 +516,13 @@ run_gcc (unsigned argc, char *argv[]) { FILE *stream = fopen (ltrans_output_file, "r"); FILE *mstream = NULL; + struct obstack env_obstack; if (!stream) fatal_perror ("fopen: %s", ltrans_output_file); /* Parse the list of LTRANS inputs from the WPA stage. */ + obstack_init (&env_obstack); nr = 0; for (;;) { @@ -574,7 +575,6 @@ cont: /* Replace the .o suffix with a .ltrans.o suffix and write the resulting name to the LTRANS output list. */ - obstack_init (&env_obstack); obstack_grow (&env_obstack, input_name, strlen (input_name) - 2); obstack_grow (&env_obstack, ".ltrans.o", sizeof (".ltrans.o")); output_name = XOBFINISH (&env_obstack, char *); @@ -654,9 +654,8 @@ cont: free (output_names); free (input_names); free (list_option_full); + obstack_free (&env_obstack, NULL); } - - obstack_free (&env_obstack, NULL); } |