Mercurial > hg > CbC > CbC_gcc
comparison gcc/selftest-run-tests.c @ 132:d34655255c78
update gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 10:21:07 +0900 |
parents | 84e7813d76e9 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
130:e108057fa461 | 132:d34655255c78 |
---|---|
1 /* Implementation of selftests. | 1 /* Implementation of selftests. |
2 Copyright (C) 2015-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2015-2018 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
23 #include "selftest.h" | 23 #include "selftest.h" |
24 #include "tree.h" | 24 #include "tree.h" |
25 #include "target.h" | 25 #include "target.h" |
26 #include "langhooks.h" | 26 #include "langhooks.h" |
27 #include "options.h" | 27 #include "options.h" |
28 #include "stringpool.h" | |
29 #include "attribs.h" | |
28 | 30 |
29 /* This function needed to be split out from selftest.c as it references | 31 /* This function needed to be split out from selftest.c as it references |
30 tests from the whole source tree, and so is within | 32 tests from the whole source tree, and so is within |
31 OBJS in Makefile.in, whereas selftest.o is within OBJS-libcommon. | 33 OBJS in Makefile.in, whereas selftest.o is within OBJS-libcommon. |
32 This allows us to embed tests within files in OBJS-libcommon without | 34 This allows us to embed tests within files in OBJS-libcommon without |
44 source tree (without a trailing slash). Copy it up to | 46 source tree (without a trailing slash). Copy it up to |
45 path_to_selftest_files, to avoid selftest.c depending on | 47 path_to_selftest_files, to avoid selftest.c depending on |
46 option-handling. */ | 48 option-handling. */ |
47 path_to_selftest_files = flag_self_test; | 49 path_to_selftest_files = flag_self_test; |
48 | 50 |
49 long start_time = get_run_time (); | 51 test_runner r ("-fself-test"); |
50 | 52 |
51 /* Run all the tests, in hand-coded order of (approximate) dependencies: | 53 /* Run all the tests, in hand-coded order of (approximate) dependencies: |
52 run the tests for lowest-level code first. */ | 54 run the tests for lowest-level code first. */ |
53 | 55 |
54 /* Sanity-check for selftests themselves. */ | 56 /* Sanity-check for selftests themselves. */ |
55 selftest_c_tests (); | 57 selftest_c_tests (); |
56 | 58 |
57 /* Low-level data structures. */ | 59 /* Low-level data structures. */ |
58 bitmap_c_tests (); | 60 bitmap_c_tests (); |
59 sbitmap_c_tests (); | 61 sbitmap_c_tests (); |
62 dumpfile_c_tests (); | |
60 et_forest_c_tests (); | 63 et_forest_c_tests (); |
61 hash_map_tests_c_tests (); | 64 hash_map_tests_c_tests (); |
62 hash_set_tests_c_tests (); | 65 hash_set_tests_c_tests (); |
63 vec_c_tests (); | 66 vec_c_tests (); |
64 pretty_print_c_tests (); | 67 pretty_print_c_tests (); |
66 ggc_tests_c_tests (); | 69 ggc_tests_c_tests (); |
67 sreal_c_tests (); | 70 sreal_c_tests (); |
68 fibonacci_heap_c_tests (); | 71 fibonacci_heap_c_tests (); |
69 typed_splay_tree_c_tests (); | 72 typed_splay_tree_c_tests (); |
70 unique_ptr_tests_cc_tests (); | 73 unique_ptr_tests_cc_tests (); |
74 opt_proposer_c_tests (); | |
75 json_cc_tests (); | |
76 optinfo_emit_json_cc_tests (); | |
77 opt_problem_cc_tests (); | |
71 | 78 |
72 /* Mid-level data structures. */ | 79 /* Mid-level data structures. */ |
73 input_c_tests (); | 80 input_c_tests (); |
81 vec_perm_indices_c_tests (); | |
74 tree_c_tests (); | 82 tree_c_tests (); |
75 gimple_c_tests (); | 83 gimple_c_tests (); |
76 rtl_tests_c_tests (); | 84 rtl_tests_c_tests (); |
77 read_rtl_function_c_tests (); | 85 read_rtl_function_c_tests (); |
78 | 86 |
83 edit_context_c_tests (); | 91 edit_context_c_tests (); |
84 fold_const_c_tests (); | 92 fold_const_c_tests (); |
85 spellcheck_c_tests (); | 93 spellcheck_c_tests (); |
86 spellcheck_tree_c_tests (); | 94 spellcheck_tree_c_tests (); |
87 tree_cfg_c_tests (); | 95 tree_cfg_c_tests (); |
96 attribute_c_tests (); | |
88 | 97 |
89 /* This one relies on most of the above. */ | 98 /* This one relies on most of the above. */ |
90 function_tests_c_tests (); | 99 function_tests_c_tests (); |
91 | 100 |
92 /* Run any target-specific selftests. */ | 101 /* Run any target-specific selftests. */ |
93 if (targetm.run_target_selftests) | 102 if (targetm.run_target_selftests) |
94 targetm.run_target_selftests (); | 103 targetm.run_target_selftests (); |
95 | 104 |
96 store_merging_c_tests (); | 105 store_merging_c_tests (); |
97 predict_c_tests (); | 106 predict_c_tests (); |
107 simplify_rtx_c_tests (); | |
98 | 108 |
99 /* Run any lang-specific selftests. */ | 109 /* Run any lang-specific selftests. */ |
100 lang_hooks.run_lang_selftests (); | 110 lang_hooks.run_lang_selftests (); |
101 | 111 |
102 /* Force a GC at the end of the selftests, to shake out GC-related | 112 /* Force a GC at the end of the selftests, to shake out GC-related |
103 issues. For example, if any GC-managed items have buggy (or missing) | 113 issues. For example, if any GC-managed items have buggy (or missing) |
104 finalizers, this last collection will ensure that things that were | 114 finalizers, this last collection will ensure that things that were |
105 failed to be finalized can be detected by valgrind. */ | 115 failed to be finalized can be detected by valgrind. */ |
106 forcibly_ggc_collect (); | 116 forcibly_ggc_collect (); |
107 | 117 |
108 /* Finished running tests. */ | 118 /* Finished running tests; the test_runner dtor will print a summary. */ |
109 long finish_time = get_run_time (); | |
110 long elapsed_time = finish_time - start_time; | |
111 | |
112 fprintf (stderr, | |
113 "-fself-test: %i pass(es) in %ld.%06ld seconds\n", | |
114 num_passes, | |
115 elapsed_time / 1000000, elapsed_time % 1000000); | |
116 } | 119 } |
117 | 120 |
118 #endif /* #if CHECKING_P */ | 121 #endif /* #if CHECKING_P */ |