selftests: split out make_fndecl from selftest.h to its own header

Avoid selftest.h requiring the "tree" type.
No functional change intended.

gcc/analyzer/ChangeLog:
	* region-model.cc: Include "selftest-tree.h".

gcc/ChangeLog:
	* function-tests.cc: Include "selftest-tree.h".
	* selftest-tree.h: New file.
	* selftest.h (make_fndecl): Move to selftest-tree.h.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
This commit is contained in:
David Malcolm 2024-05-28 15:55:17 -04:00
parent 7cc529fe51
commit fb7a943ead
4 changed files with 43 additions and 7 deletions

View file

@ -42,6 +42,7 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostic-color.h"
#include "bitmap.h"
#include "selftest.h"
#include "selftest-tree.h"
#include "analyzer/analyzer.h"
#include "analyzer/analyzer-logging.h"
#include "ordered-hash-map.h"

View file

@ -76,6 +76,7 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-ref.h"
#include "cgraph.h"
#include "selftest.h"
#include "selftest-tree.h"
#include "print-rtl.h"
#if CHECKING_P

41
gcc/selftest-tree.h Normal file
View file

@ -0,0 +1,41 @@
/* A self-testing framework, for use by -fself-test.
Copyright (C) 2015-2024 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_SELFTEST_TREE_H
#define GCC_SELFTEST_TREE_H
/* The selftest code should entirely disappear in a production
configuration, hence we guard all of it with #if CHECKING_P. */
#if CHECKING_P
namespace selftest {
/* Helper function for selftests that need a function decl. */
extern tree make_fndecl (tree return_type,
const char *name,
vec <tree> &param_types,
bool is_variadic = false);
} /* end of namespace selftest. */
#endif /* #if CHECKING_P */
#endif /* GCC_SELFTEST_TREE_H */

View file

@ -178,13 +178,6 @@ class line_table_test
~line_table_test ();
};
/* Helper function for selftests that need a function decl. */
extern tree make_fndecl (tree return_type,
const char *name,
vec <tree> &param_types,
bool is_variadic = false);
/* Run TESTCASE multiple times, once for each case in our test matrix. */
extern void