]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/selftest-run-tests.c
Add sreal to selftests
[thirdparty/gcc.git] / gcc / selftest-run-tests.c
CommitLineData
d9b950dd
DM
1/* Implementation of selftests.
2 Copyright (C) 2015-2016 Free Software Foundation, Inc.
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"
24
25/* This function needed to be split out from selftest.c as it references
26 tests from the whole source tree, and so is within
27 OBJS in Makefile.in, whereas selftest.o is within OBJS-libcommon.
28 This allows us to embed tests within files in OBJS-libcommon without
29 introducing a dependency on objects within OBJS. */
30
31#if CHECKING_P
32
33/* Run all tests, aborting if any fail. */
34
35void
36selftest::run_tests ()
37{
38 long start_time = get_run_time ();
39
40 /* Run all the tests, in hand-coded order of (approximate) dependencies:
41 run the tests for lowest-level code first. */
42
43 /* Low-level data structures. */
44 bitmap_c_tests ();
45 et_forest_c_tests ();
46 hash_map_tests_c_tests ();
47 hash_set_tests_c_tests ();
48 vec_c_tests ();
4ccab56d 49 pretty_print_c_tests ();
d9b950dd 50 wide_int_cc_tests ();
8c4294b2 51 ggc_tests_c_tests ();
dcbdb17a 52 sreal_c_tests ();
d9b950dd
DM
53
54 /* Mid-level data structures. */
55 input_c_tests ();
56 tree_c_tests ();
57 gimple_c_tests ();
58 rtl_tests_c_tests ();
59
60 /* Higher-level tests, or for components that other selftests don't
61 rely on. */
62 diagnostic_show_locus_c_tests ();
a93eac6a 63 diagnostic_c_tests ();
d9b950dd
DM
64 fold_const_c_tests ();
65 spellcheck_c_tests ();
f254671f 66 spellcheck_tree_c_tests ();
d9b950dd
DM
67 tree_cfg_c_tests ();
68
69 /* This one relies on most of the above. */
70 function_tests_c_tests ();
71
72 /* Finished running tests. */
73 long finish_time = get_run_time ();
74 long elapsed_time = finish_time - start_time;
75
76 fprintf (stderr,
77 "-fself-test: %i pass(es) in %ld.%06ld seconds\n",
78 num_passes,
79 elapsed_time / 1000000, elapsed_time % 1000000);
80}
81
82#endif /* #if CHECKING_P */