aboutsummaryrefslogtreecommitdiff
path: root/gcc/selftest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/selftest.cc')
-rw-r--r--gcc/selftest.cc12
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)