]> gcc.gnu.org Git - gcc.git/blame - gcc/selftest-run-tests.c
[AArch64] Implement usadv16qi and ssadv16qi standard names
[gcc.git] / gcc / selftest-run-tests.c
CommitLineData
d9b950dd 1/* Implementation of selftests.
85ec4feb 2 Copyright (C) 2015-2018 Free Software Foundation, Inc.
d9b950dd
DM
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 3, or (at your option) any later
9version.
10
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
19
20#include "config.h"
21#include "system.h"
22#include "coretypes.h"
23#include "selftest.h"
895aa8e1 24#include "tree.h"
40af5894 25#include "target.h"
895aa8e1 26#include "langhooks.h"
ecfc21ff 27#include "options.h"
5d9ae53d
MS
28#include "stringpool.h"
29#include "attribs.h"
d9b950dd
DM
30
31/* This function needed to be split out from selftest.c as it references
32 tests from the whole source tree, and so is within
33 OBJS in Makefile.in, whereas selftest.o is within OBJS-libcommon.
34 This allows us to embed tests within files in OBJS-libcommon without
35 introducing a dependency on objects within OBJS. */
36
37#if CHECKING_P
38
39/* Run all tests, aborting if any fail. */
40
41void
42selftest::run_tests ()
43{
ecfc21ff
DM
44 /* Makefile.in has -fself-test=$(srcdir)/testsuite/selftests, so that
45 flag_self_test contains the path to the selftest subdirectory of the
46 source tree (without a trailing slash). Copy it up to
47 path_to_selftest_files, to avoid selftest.c depending on
48 option-handling. */
49 path_to_selftest_files = flag_self_test;
50
421b29d6 51 test_runner r ("-fself-test");
d9b950dd
DM
52
53 /* Run all the tests, in hand-coded order of (approximate) dependencies:
54 run the tests for lowest-level code first. */
55
5714dbda
DM
56 /* Sanity-check for selftests themselves. */
57 selftest_c_tests ();
58
d9b950dd
DM
59 /* Low-level data structures. */
60 bitmap_c_tests ();
0af377c1 61 sbitmap_c_tests ();
d9b950dd
DM
62 et_forest_c_tests ();
63 hash_map_tests_c_tests ();
64 hash_set_tests_c_tests ();
65 vec_c_tests ();
4ccab56d 66 pretty_print_c_tests ();
d9b950dd 67 wide_int_cc_tests ();
8c4294b2 68 ggc_tests_c_tests ();
dcbdb17a 69 sreal_c_tests ();
ba1a7a0f 70 fibonacci_heap_c_tests ();
950f6c85 71 typed_splay_tree_c_tests ();
46d2b77d 72 unique_ptr_tests_cc_tests ();
d9b950dd
DM
73
74 /* Mid-level data structures. */
75 input_c_tests ();
1a1c441d 76 vec_perm_indices_c_tests ();
d9b950dd
DM
77 tree_c_tests ();
78 gimple_c_tests ();
79 rtl_tests_c_tests ();
51b86113 80 read_rtl_function_c_tests ();
d9b950dd
DM
81
82 /* Higher-level tests, or for components that other selftests don't
83 rely on. */
84 diagnostic_show_locus_c_tests ();
a93eac6a 85 diagnostic_c_tests ();
c65236d6 86 edit_context_c_tests ();
d9b950dd
DM
87 fold_const_c_tests ();
88 spellcheck_c_tests ();
f254671f 89 spellcheck_tree_c_tests ();
d9b950dd 90 tree_cfg_c_tests ();
5d9ae53d 91 attribute_c_tests ();
d9b950dd
DM
92
93 /* This one relies on most of the above. */
94 function_tests_c_tests ();
95
40af5894
DM
96 /* Run any target-specific selftests. */
97 if (targetm.run_target_selftests)
98 targetm.run_target_selftests ();
99
c22d8787 100 store_merging_c_tests ();
d8838217 101 predict_c_tests ();
9b1de7e2 102 simplify_rtx_c_tests ();
c22d8787 103
895aa8e1
DM
104 /* Run any lang-specific selftests. */
105 lang_hooks.run_lang_selftests ();
106
6c3b5bf0
DM
107 /* Force a GC at the end of the selftests, to shake out GC-related
108 issues. For example, if any GC-managed items have buggy (or missing)
109 finalizers, this last collection will ensure that things that were
110 failed to be finalized can be detected by valgrind. */
111 forcibly_ggc_collect ();
112
421b29d6 113 /* Finished running tests; the test_runner dtor will print a summary. */
d9b950dd
DM
114}
115
116#endif /* #if CHECKING_P */
This page took 1.397405 seconds and 5 git commands to generate.