From: Richard Guenther Date: Thu, 15 Dec 2011 14:50:25 +0000 (+0000) Subject: lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after... X-Git-Tag: releases/gcc-4.7.0~1514 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d69847d6ea68145f1b065d5d4a1cafadebf0d37;p=thirdparty%2Fgcc.git lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after processing them. 2011-12-15 Richard Guenther * lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after processing them. In parallel mode truncate the ltrans inputs in the make rule that processes them if temporary files are not to be preserved. From-SVN: r182370 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3357e8fa806d..9ec882ddc191 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-12-15 Richard Guenther + + * lto-wrapper.c (run_gcc): In non-parallel mode remove + ltrans inputs immediately after processing them. In parallel + mode truncate the ltrans inputs in the make rule that processes + them if temporary files are not to be preserved. + 2011-12-15 Anatoly Sokolov * config/arm/arm.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index 5fb37624810a..1cc7bfb843dd 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -811,9 +811,19 @@ cont: for (j = 1; new_argv[j] != NULL; ++j) fprintf (mstream, " '%s'", new_argv[j]); fprintf (mstream, "\n"); + /* If we are not preserving the ltrans input files then + truncate them as soon as we have processed it. This + reduces temporary disk-space usage. */ + if (! debug) + fprintf (mstream, "\t@-touch -r %s %s.tem > /dev/null 2>&1 " + "&& mv %s.tem %s\n", + input_name, input_name, input_name, input_name); } else - fork_execute (CONST_CAST (char **, new_argv)); + { + fork_execute (CONST_CAST (char **, new_argv)); + maybe_unlink_file (input_name); + } output_names[i] = output_name; } @@ -851,12 +861,13 @@ cont: collect_wait (new_argv[0], pex); maybe_unlink_file (makefile); makefile = NULL; + for (i = 0; i < nr; ++i) + maybe_unlink_file (input_names[i]); } for (i = 0; i < nr; ++i) { fputs (output_names[i], stdout); putc ('\n', stdout); - maybe_unlink_file (input_names[i]); free (input_names[i]); } nr = 0;