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:
parent
7841800f7a
commit
eb3a5bcc74
4 changed files with 55 additions and 42 deletions
|
@ -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>
|
2016-08-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR target/71910
|
PR target/71910
|
||||||
|
|
42
gcc/input.c
42
gcc/input.c
|
@ -1472,48 +1472,6 @@ namespace selftest {
|
||||||
|
|
||||||
/* Selftests of location handling. */
|
/* 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
|
/* Helper function for verifying location data: when location_t
|
||||||
values are > LINE_MAP_MAX_LOCATION_WITH_COLS, they are treated
|
values are > LINE_MAP_MAX_LOCATION_WITH_COLS, they are treated
|
||||||
as having column 0. */
|
as having column 0. */
|
||||||
|
|
|
@ -87,6 +87,32 @@ selftest::assert_streq (const location &loc,
|
||||||
desc_expected, desc_actual, val_expected, val_actual);
|
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. */
|
/* Selftests for the selftest system itself. */
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,22 @@ extern void assert_streq (const location &loc,
|
||||||
const char *desc_expected, const char *desc_actual,
|
const char *desc_expected, const char *desc_actual,
|
||||||
const char *val_expected, const char *val_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
|
/* Declarations for specific families of tests (by source file), in
|
||||||
alphabetical order. */
|
alphabetical order. */
|
||||||
extern void bitmap_c_tests ();
|
extern void bitmap_c_tests ();
|
||||||
|
|
Loading…
Add table
Reference in a new issue