From eb3a5bcc74b063c05ceb78f8e0bfee3e03b021a6 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 16 Aug 2016 18:02:43 +0000 Subject: [PATCH] Move class temp_source_file from input.c to selftest.c/h gcc/ChangeLog: * input.c (class selftest::temp_source_file): Move to selftest.h. (selftest::temp_source_file::temp_source_file): Move to selftest.c. (selftest::temp_source_file::~temp_source_file): Likewise. * selftest.c (selftest::temp_source_file::temp_source_file): Move here from input.c. (selftest::temp_source_file::~temp_source_file): Likewise. * selftest.h (class selftest::temp_source_file): Move here from input.c From-SVN: r239509 --- gcc/ChangeLog | 13 +++++++++++++ gcc/input.c | 42 ------------------------------------------ gcc/selftest.c | 26 ++++++++++++++++++++++++++ gcc/selftest.h | 16 ++++++++++++++++ 4 files changed, 55 insertions(+), 42 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b99c745c795..dab437d3906 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2016-08-16 David Malcolm + + * input.c (class selftest::temp_source_file): Move to + selftest.h. + (selftest::temp_source_file::temp_source_file): Move to + selftest.c. + (selftest::temp_source_file::~temp_source_file): Likewise. + * selftest.c (selftest::temp_source_file::temp_source_file): Move + here from input.c. + (selftest::temp_source_file::~temp_source_file): Likewise. + * selftest.h (class selftest::temp_source_file): Move here from + input.c + 2016-08-16 Jakub Jelinek PR target/71910 diff --git a/gcc/input.c b/gcc/input.c index 790de936bac..0c5f817e83a 100644 --- a/gcc/input.c +++ b/gcc/input.c @@ -1472,48 +1472,6 @@ namespace selftest { /* Selftests of location handling. */ -/* A class for writing out a temporary sourcefile for use in selftests - of input handling. */ - -class temp_source_file -{ - public: - temp_source_file (const location &loc, const char *suffix, - const char *content); - ~temp_source_file (); - - const char *get_filename () const { return m_filename; } - - private: - char *m_filename; -}; - -/* Constructor. Create a tempfile using SUFFIX, and write CONTENT to - it. Abort if anything goes wrong, using LOC as the effective - location in the problem report. */ - -temp_source_file::temp_source_file (const location &loc, const char *suffix, - const char *content) -{ - m_filename = make_temp_file (suffix); - ASSERT_NE (m_filename, NULL); - - FILE *out = fopen (m_filename, "w"); - if (!out) - ::selftest::fail_formatted (loc, "unable to open tempfile: %s", - m_filename); - fprintf (out, "%s", content); - fclose (out); -} - -/* Destructor. Delete the tempfile. */ - -temp_source_file::~temp_source_file () -{ - unlink (m_filename); - free (m_filename); -} - /* Helper function for verifying location data: when location_t values are > LINE_MAP_MAX_LOCATION_WITH_COLS, they are treated as having column 0. */ diff --git a/gcc/selftest.c b/gcc/selftest.c index 2951c3c9bb8..0a7192efe46 100644 --- a/gcc/selftest.c +++ b/gcc/selftest.c @@ -87,6 +87,32 @@ selftest::assert_streq (const location &loc, desc_expected, desc_actual, val_expected, val_actual); } +/* Constructor. Create a tempfile using SUFFIX, and write CONTENT to + it. Abort if anything goes wrong, using LOC as the effective + location in the problem report. */ + +selftest::temp_source_file::temp_source_file (const location &loc, + const char *suffix, + const char *content) +{ + m_filename = make_temp_file (suffix); + ASSERT_NE (m_filename, NULL); + + FILE *out = fopen (m_filename, "w"); + if (!out) + ::selftest::fail_formatted (loc, "unable to open tempfile: %s", + m_filename); + fprintf (out, "%s", content); + fclose (out); +} + +/* Destructor. Delete the tempfile. */ + +selftest::temp_source_file::~temp_source_file () +{ + unlink (m_filename); + free (m_filename); +} /* Selftests for the selftest system itself. */ diff --git a/gcc/selftest.h b/gcc/selftest.h index 55601efc9f1..72de61f620e 100644 --- a/gcc/selftest.h +++ b/gcc/selftest.h @@ -69,6 +69,22 @@ extern void assert_streq (const location &loc, const char *desc_expected, const char *desc_actual, const char *val_expected, const char *val_actual); +/* A class for writing out a temporary sourcefile for use in selftests + of input handling. */ + +class temp_source_file +{ + public: + temp_source_file (const location &loc, const char *suffix, + const char *content); + ~temp_source_file (); + + const char *get_filename () const { return m_filename; } + + private: + char *m_filename; +}; + /* Declarations for specific families of tests (by source file), in alphabetical order. */ extern void bitmap_c_tests (); -- 2.30.2