diff options
Diffstat (limited to 'gcc/selftest.cc')
-rw-r--r-- | gcc/selftest.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/selftest.cc b/gcc/selftest.cc index 20c10bbd..2d0181b 100644 --- a/gcc/selftest.cc +++ b/gcc/selftest.cc @@ -161,10 +161,12 @@ assert_str_startswith (const location &loc, /* Constructor. Generate a name for the file. */ -named_temp_file::named_temp_file (const char *suffix) +named_temp_file::named_temp_file (const char *suffix, + file_cache *fc) { m_filename = make_temp_file (suffix); ASSERT_NE (m_filename, NULL); + m_file_cache = fc; } /* Destructor. Delete the tempfile. */ @@ -172,7 +174,8 @@ named_temp_file::named_temp_file (const char *suffix) named_temp_file::~named_temp_file () { unlink (m_filename); - diagnostics_file_cache_forcibly_evict_file (m_filename); + if (m_file_cache) + m_file_cache->forcibly_evict_file (m_filename); free (m_filename); } @@ -182,8 +185,9 @@ named_temp_file::~named_temp_file () temp_source_file::temp_source_file (const location &loc, const char *suffix, - const char *content) -: named_temp_file (suffix) + const char *content, + file_cache *fc) +: named_temp_file (suffix, fc) { FILE *out = fopen (get_filename (), "w"); if (!out) |