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
This commit is contained in:
David Malcolm 2016-08-16 18:02:43 +00:00 committed by David Malcolm
parent 7841800f7a
commit eb3a5bcc74
4 changed files with 55 additions and 42 deletions

View File

@ -1,3 +1,16 @@
2016-08-16 David Malcolm <dmalcolm@redhat.com>
* 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 <jakub@redhat.com>
PR target/71910

View File

@ -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. */

View File

@ -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. */

View File

@ -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 ();