When trying to make use of the selftest framework over on the rust
frontend, we ran into issues where rust1 was expected to produce errors
containing C-like type names such as `int`.

I had gotten in contact with David Malcolm on the gcc mailing list [1],
who advised moving some test functions to a better location. The
offending functions have also been renamed in order to better fit the C
family of tests, and are thus not called when performing general
selftests anymore.

Kindly,

[1]: https://gcc.gnu.org/pipermail/gcc/2021-November/237703.html

2022-02-16 Arthur Cohen <arthur.co...@embecosm.com>

        * diagnostic.cc (diagnostic_cc_tests): Rename to...
        (c_diagnostic_cc_tests): ...this.
        * opt_problem.cc (opt_problem_cc_tests): Rename to...
        (c_opt_problem_cc_tests): ...this.
---
 gcc/c-family/c-common.cc  | 2 ++
 gcc/c-family/c-common.h   | 2 ++
 gcc/diagnostic.cc         | 2 +-
 gcc/opt-problem.cc        | 2 +-
 gcc/selftest-run-tests.cc | 2 --
 gcc/selftest.h            | 2 --
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 7203d761df1..d034837bb5b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -9120,6 +9120,8 @@ c_family_tests (void)
   c_indentation_cc_tests ();
   c_pretty_print_cc_tests ();
   c_spellcheck_cc_tests ();
+  c_diagnostic_cc_tests ();
+  c_opt_problem_cc_tests ();
 }

 } // namespace selftest
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index a8d6f82bb2c..ed20c5837be 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1513,8 +1513,10 @@ extern tree braced_lists_to_strings (tree, tree);
 namespace selftest {
   /* Declarations for specific families of tests within c-family,
      by source file, in alphabetical order.  */
+  extern void c_diagnostic_cc_tests (void);
   extern void c_format_cc_tests (void);
   extern void c_indentation_cc_tests (void);
+  extern void c_opt_problem_cc_tests (void);
   extern void c_pretty_print_cc_tests (void);
   extern void c_spellcheck_cc_tests (void);

diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 87eb473d2f3..73324a728fe 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -2472,7 +2472,7 @@ test_num_digits ()
 /* Run all of the selftests within this file.  */

 void
-diagnostic_cc_tests ()
+c_diagnostic_cc_tests ()
 {
   test_print_escaped_string ();
   test_print_parseable_fixits_none ();
diff --git a/gcc/opt-problem.cc b/gcc/opt-problem.cc
index e45d14e94b6..11fec57d679 100644
--- a/gcc/opt-problem.cc
+++ b/gcc/opt-problem.cc
@@ -324,7 +324,7 @@ test_opt_result_failure_at (const line_table_case &case_)
 /* Run all of the selftests within this file.  */

 void
-opt_problem_cc_tests ()
+c_opt_problem_cc_tests ()
 {
   test_opt_result_success ();
   for_each_line_table_case (test_opt_result_failure_at);
diff --git a/gcc/selftest-run-tests.cc b/gcc/selftest-run-tests.cc
index 99c35423253..d59e0aeddee 100644
--- a/gcc/selftest-run-tests.cc
+++ b/gcc/selftest-run-tests.cc
@@ -76,7 +76,6 @@ selftest::run_tests ()
   json_cc_tests ();
   cgraph_cc_tests ();
   optinfo_emit_json_cc_tests ();
-  opt_problem_cc_tests ();
   ordered_hash_map_tests_cc_tests ();
   splay_tree_cc_tests ();

@@ -95,7 +94,6 @@ selftest::run_tests ()
   /* Higher-level tests, or for components that other selftests don't
      rely on.  */
   diagnostic_show_locus_cc_tests ();
-  diagnostic_cc_tests ();
   diagnostic_format_json_cc_tests ();
   edit_context_cc_tests ();
   fold_const_cc_tests ();
diff --git a/gcc/selftest.h b/gcc/selftest.h
index 7a715631c62..7568a6d24d4 100644
--- a/gcc/selftest.h
+++ b/gcc/selftest.h
@@ -222,7 +222,6 @@ extern void attribs_cc_tests ();
 extern void bitmap_cc_tests ();
 extern void cgraph_cc_tests ();
 extern void convert_cc_tests ();
-extern void diagnostic_cc_tests ();
 extern void diagnostic_format_json_cc_tests ();
 extern void diagnostic_show_locus_cc_tests ();
 extern void digraph_cc_tests ();
@@ -238,7 +237,6 @@ extern void hash_map_tests_cc_tests ();
 extern void hash_set_tests_cc_tests ();
 extern void input_cc_tests ();
 extern void json_cc_tests ();
-extern void opt_problem_cc_tests ();
 extern void optinfo_emit_json_cc_tests ();
 extern void opts_cc_tests ();
 extern void ordered_hash_map_tests_cc_tests ();
--
2.35.1



--
Arthur Cohen <arthur.co...@embecosm.com>

Toolchain Engineer

Embecosm GmbH

Geschäftsführer: Jeremy Bennett
Niederlassung: Nürnberg
Handelsregister: HR-B 36368
www.embecosm.de

Fürther Str. 27
90429 Nürnberg


Tel.: 091 - 128 707 040
Fax: 091 - 128 707 077

Attachment: OpenPGP_0x1B3465B044AD9C65.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to