The "gcc" subdirectory of our source tree currently contains a total of almost 1000 .cc and .h files, enough to hit rate-limiting in some git web UIs, and obscuring the logical relationships between subsystems.
In r16-2211-ga5d9debedd2f46 I started introducing a "namespace diagnostics" so it makes sense to move such code into a new "gcc/diagnostics" subdirectory. Much of the diagnostics code is in files with a "diagnostic-*" prefix, but some isn't, and some of the diagnostics-* files are more propertly part of GCC than "diagnostics". This patch kit moves the non-GCC-specific parts of our diagnostics implementation from "gcc/" into a new "gcc/diagnostics/" subdirectory, and moves symbols within it to a "diagnostics::" namespace. My intent is for the "diagnostics" namespace/directory to contain shared parts of the diagnostics code that are in libcommon, in particular which *don't* have knowledge of trees, GTY, GCC-specific options, or "global_dc" (though the latter isn't fully isolated yet). My hope is that this will better demarcate the boundaries between the shared diagnostics code and the frontends (and their own diagnostics wrappers), and the boundaries with libgdiagnostics. No functional changes intended. Testing: * successfully bootstrapped & regrtested on x86_64-pc-linux-gnu with gcc 10.3.1 as the initial compiler * successfully built stage 1 with all-configs with gcc 10.3.1 as the initial compiler * successfully built stage 1 with on x86_64-pc-linux-gnu with gcc 8.5.0 as the initial compiler (CentOS 8; cfarm187) Pushed to trunk as r16-2520-g6d9152659f4f6a through r16-2553-gbae1f7e29816b9. Files renamed (all relative to gcc/) ------------------------------------ ================================ ======================================== Old name New name ================================ ======================================== diagnostic-buffer.h diagnostics/buffering.h diagnostic-client-data-hooks.h diagnostics/client-data-hooks.h diagnostic-color.cc diagnostics/color.cc diagnostic-color.h diagnostics/color.h diagnostic-diagram.h diagnostics/diagram.h diagnostic-digraphs.cc diagnostics/digraphs.cc diagnostic-digraphs.h diagnostics/digraphs.h diagnostic-event-id.h diagnostics/event-id.h diagnostic-format-html.cc diagnostics/html-sink.cc diagnostic-format-html.h diagnostics/html-sink.h diagnostic-format-sarif.cc diagnostics/sarif-sink.cc diagnostic-format-sarif.h diagnostics/sarif-sink.h diagnostic-format-text.cc diagnostics/text-sink.cc diagnostic-format-text.h diagnostics/text-sink.h diagnostic-format.h diagnostics/sink.h diagnostic-label-effects.h diagnostics/source-printing-effects.h diagnostic-macro-unwinding.cc diagnostics/macro-unwinding.cc diagnostic-macro-unwinding.h diagnostics/macro-unwinding.h diagnostic-metadata.h diagnostics/metadata.h diagnostic-output-file.h diagnostics/output-file.h diagnostic-output-spec.cc diagnostics/output-spec.cc diagnostic-output-spec.h diagnostics/output-spec.h diagnostic-path-output.cc diagnostics/paths-output.cc diagnostic-path.cc diagnostics/paths.cc diagnostic-path.h diagnostics/paths.h diagnostic-show-locus.cc diagnostics/source-printing.cc diagnostic-spec.cc gcc-diagnostic-spec.cc diagnostic-spec.h gcc-diagnostic-spec.h diagnostic-state-graphs.cc diagnostics/state-graphs.cc diagnostic-state-graphs.h diagnostics/state-graphs.h diagnostic-state-to-dot.cc diagnostics/state-graphs-to-dot.cc diagnostic-url.h diagnostics/url.h diagnostic.cc diagnostics/context.cc diagnostic.def diagnostics/kinds.def edit-context.cc diagnostics/changes.cc edit-context.h diagnostics/changes.h lazy-diagnostic-path.cc diagnostics/lazy-paths.cc lazy-diagnostic-path.h diagnostics/lazy-paths.h logical-location.h diagnostics/logical-locations.h selftest-diagnostic-path.cc diagnostics/selftest-paths.cc selftest-diagnostic-path.h diagnostics/selftest-paths.h selftest-diagnostic-show-locus.h diagnostics/selftest-source-printing.h selftest-diagnostic.cc diagnostics/selftest-context.cc selftest-diagnostic.h diagnostics/selftest-context.h selftest-logical-location.cc diagnostics/selftest-logical-locations.cc selftest-logical-location.h diagnostics/selftest-logical-locations.h plus these new files (below gcc/): diagnostics/buffering.cc diagnostics/context-options.h diagnostics/context.h diagnostics/diagnostic-info.h diagnostics/diagnostics-selftests.cc diagnostics/diagnostics-selftests.h diagnostics/file-cache.cc diagnostics/file-cache.h diagnostics/kinds.h diagnostics/option-classifier.cc diagnostics/option-classifier.h diagnostics/option-id.h lazily-created.h Symbols renamed (probably not exhaustive) ----------------------------------------- ================================ ======================================== Old name New name ================================ ======================================== Sink TextOrHtml char_span diagnostics::char_span default_diagnostic_start_span_fn diagnostics::default_start_span_fn default_diagnostic_text_finalizer diagnostics::default_text_finalizer default_diagnostic_text_starter diagnostics::default_text_starter diagnostic_buffer diagnostics::buffer diagnostic_client_data_hooks diagnostics::client_data_hooks diagnostic_client_plugin_info diagnostics::client_plugin_info diagnostic_column_policy diagnostics::column_policy diagnostic_context diagnostics::context diagnostic_counters diagnostics::counters diagnostic_diagram diagnostics::diagram diagnostic_event diagnostics::paths::event diagnostic_event_id_t diagnostics::paths::event_id_t diagnostic_html_format_buffer diagnostics::html_sink_buffer diagnostic_info diagnostics::diagnostic_info diagnostic_location_print_policy diagnostics::location_print_policy diagnostic_metadata diagnostics::metadata diagnostic_option_classifier diagnostics::option_classifier diagnostic_option_id diagnostics::option_id diagnostic_option_manager diagnostics::option_manager diagnostic_output_file diagnostics::output_file diagnostic_output_format diagnostics::sink diagnostic_output_format_init diagnostics::output_format_init diagnostic_output_format_init_sarif diagnostics::init_sarif_sink diagnostic_output_format_init_sarif_file diagnostics::init_sarif_file diagnostic_output_format_init_sarif_stderr diagnostics::init_sarif_stderr diagnostic_output_format_init_sarif_stream diagnostics::init_sarif_stream diagnostic_output_format_open_html_file diagnostics::open_html_output_file diagnostic_output_format_open_sarif_file diagnostics::open_sarif_output_file diagnostics_output_spec diagnostics::output_spec diagnostics_output_spec::gcc_spec_context diagnostics::output_spec::dc_spec_context diagnostic_path diagnostics::paths::path diagnostic_per_format_buffer diagnostics::per_sink_buffer diagnostic_sarif_format_buffer diagnostics::sarif_sink_buffer diagnostic_set_caret_max_width diagnostics::context::set_caret_max_width diagnostic_source_effect_info diagnostics::source_effect_info diagnostic_source_printing_options diagnostics::source_printing_options diagnostic_source_print_policy diagnostics::source_print_policy diagnostic_start_span diagnostics::start_span diagnostic_t enum diagnostics::kind (now an enum class) DK_ANACHRONISM diagnostics::kind::anachronism DK_DEBUG diagnostics::kind::debug DK_DIAGNOSTIC_PATH diagnostics::kind::path DK_ERROR diagnostics::kind::error DK_FATAL diagnostics::kind::fatal DK_ICE diagnostics::kind::ice DK_ICE_NOBT diagnostics::kind::ice_nobt DK_IGNORED diagnostics::kind::ignored DK_LAST_DIAGNOSTIC_KIND diagnostics::kind::last_diagnostic_kind DK_NOTE diagnostics::kind::note DK_PEDWARN diagnostics::kind::pedwarn DK_PERMERROR diagnostics::kind::permerror DK_POP diagnostics::kind::pop DK_SORRY diagnostics::kind::sorry DK_UNSPECIFIED diagnostics::kind::unspecified DK_WARNING diagnostics::kind::warning DK_WERROR diagnostics::kind::werror diagnostic_text_finalizer diagnostics::text_finalizer diagnostic_text_format_buffer diagnostics::text_sink_buffer diagnostic_text_starter diagnostics::text_starter diagnostic_text_output_format diagnostics::text_sink diagnostic_thread diagnostics::paths::thread diagnostic_thread_id_t diagnostics::paths::thread_id_t edit_context diagnostics::changes::change_set edited_file diagnostics::changes::changed_file edited_line diagnostics::changes::changed_line file_cache diagnostics::file_cache file_cache_slot diagnostics::file_cache_slot html_file_output_format diagnostics::html_file_sink html_label_writer diagnostics::html_label_writer html_output_format diagnostics::html_sink lazy_digraph lazily_created<diagnostics::digraphs::digraph> lazy_digraphs lazily_created<std::vector<std::unique_ptr<diagnostics::digraphs::digraph>>> lazy_diagnostic_path diagnostics::paths::lazy_path logical_location diagnostics::logical_locations::key logical_location_manager diagnostics::logical_locations::manager sarif_builder diagnostics::sarif_builder sarif_edge diagnostics::sarif_edge sarif_graph diagnostics::sarif_graph sarif_node diagnostics::sarif_node sarif_object diagnostics::sarif_object sarif_output_format diagnostics::sarif_sink sarif_property_bag diagnostics::sarif_property_bag sarif_stream_output_format diagnostics::sarif_stream_sink sarif_file_output_format diagnostics::sarif_file_sink selftest::c_diagnostic_cc_tests diagnostics::selftest::context_cc_tests selftest::diagnostic_color_cc_tests diagnostics::selftest::color_cc_tests selftest::diagnostic_digraphs_cc_tests diagnostics::selftest::digraphs_cc_tests selftest::diagnostic_format_html_cc_tests diagnostics::selftest::html_sink_cc_tests selftest::diagnostic_format_sarif_cc_tests diagnostics::selftest::sarif_sink_cc_tests selftest::diagnostic_output_spec_cc_tests diagnostics::selftest::output_spec_cc_tests selftest::diagnostic_path_output_cc_tests diagnostics::selftest::paths_output_cc_tests selftest::diagnostic_show_locus_cc_tests diagnostics::selftest::source_printing_cc_tests selftest::diagnostic_show_locus_fixture diagnostics::selftest::source_printing_fixture selftest::diagnostic_state_graphs_cc_tests diagnostics::selftest::state_graphs_cc_tests selftest::edit_context_cc_tests diagnostics::selftest::changes_cc_tests selftest::lazy_diagnostic_path_cc_tests diagnostics::selftest::lazy_paths_cc_tests selftest::test_diagnostic_context diagnostics::selftest::test_context selftest::test_diagnostic_event diagnostics::paths::selftest::test_event selftest::test_diagnostic_path diagnostics::paths::selftest::test_path selftest::test_diagnostic_thread diagnostics::paths::selftest::test_thread selftest::test_html_diagnostic_context diagnostics::selftest::test_html_context selftest::test_logical_location_manager diagnostics::logical_locations::selftest::test_manager David Malcolm (34): diagnostics: introduce a "gcc/diagnostics" subdirectory diagnostics: move logical locations into "diagnostics" diagnostics: move diagnostic_metadata to diagnostics::metadata diagnostics: move diagnostic_diagram to diagnostics::diagram diagnostics: move edit_context to namespace/dir "diagnostics" diagnostics: move client data hooks into namespace/dir "diagnostics" diagnostics: rename diagnostic_output_file to diagnostics::output_file diagnostics: move diagnostics_output_spec to diagnostics::output_spec diagnostics: introduce namespace diagnostics::paths diagnostics: move/rename output formats to diagnostics as "sinks" diagnostics: introduce diagnostics/source-printing.cc diagnostics: move diagnostic-macro-unwinding.{cc,h} -> diagnostics/macro-unwinding.{cc,h} diagnostics: add m_ prefix to fields of diagnostic_info diagnostics: move diagnostic_info to its own header diagnostics: move diagnostic_context to diagnostics::context in its own header diagnostics: move option_classifier to its own files diagnostics: move buffering code to its own .cc file diagnostics: move gcc/selftest-diagnostic.{h,cc} -> gcc/diagnostics/selftest-context.{h,cc} diagnostics: move gcc/diagnostic-color.{h,cc} to gcc/diagnostics/color.{h,cc} diagnostics: gcc/diagnostic-url.h -> gcc/diagnostics/url.h diagnostics: reorganize selftests diagnostics: move diagnostics::edit_context -> diagnostics::changes::change_set Rename diagnostic-spec.{cc,h} to gcc-diagnostic-spec.{cc,h} diagnostics: rename diagnostic_option_id to diagnostics::option_id and move to its own header diagnostics: convert diagnostic_t to enum class diagnostics::kind diagnostics: move diagnostic.c to diagnostics/context.cc diagnostics: simplify header files diagnostics: eliminate some redundant includes diagnostics: move file_cache from input.{cc,h} to diagnostics/file-cache.{cc,h} diagnostics: introduce context-options.h diagnostics: eliminate ::diagnostic_info typedef diagnostics: make context::m_source_printing private diagnostics: avoid using "sink" for things that aren't a diagnostics::sink Introduce lazily-created.h contrib/filter-clang-warnings.py | 2 +- contrib/gcc.doxy | 2 +- gcc/Makefile.in | 53 +- gcc/ada/gcc-interface/misc.cc | 4 +- gcc/ada/gcc-interface/trans.cc | 12 +- gcc/analyzer/access-diagram.cc | 10 +- gcc/analyzer/access-diagram.h | 2 +- gcc/analyzer/ana-state-to-diagnostic-state.cc | 4 +- gcc/analyzer/ana-state-to-diagnostic-state.h | 2 +- gcc/analyzer/analyzer.cc | 4 +- gcc/analyzer/bounds-checking.cc | 28 +- gcc/analyzer/call-details.cc | 6 +- gcc/analyzer/call-info.cc | 2 +- gcc/analyzer/checker-event.cc | 95 +- gcc/analyzer/checker-event.h | 43 +- gcc/analyzer/checker-path.cc | 2 +- gcc/analyzer/checker-path.h | 30 +- gcc/analyzer/common.h | 4 +- gcc/analyzer/diagnostic-manager.cc | 20 +- gcc/analyzer/diagnostic-manager.h | 5 +- gcc/analyzer/infinite-loop.cc | 7 +- gcc/analyzer/infinite-recursion.cc | 7 +- gcc/analyzer/kf.cc | 2 +- gcc/analyzer/pending-diagnostic.cc | 6 +- gcc/analyzer/pending-diagnostic.h | 34 +- gcc/analyzer/program-point.cc | 15 +- gcc/analyzer/program-state.cc | 4 +- gcc/analyzer/region-model.cc | 19 +- gcc/analyzer/sm-fd.cc | 23 +- gcc/analyzer/sm-file.cc | 20 +- gcc/analyzer/sm-malloc.cc | 26 +- gcc/analyzer/sm-pattern-test.cc | 2 +- gcc/analyzer/sm-sensitive.cc | 13 +- gcc/analyzer/sm-signal.cc | 2 +- gcc/analyzer/sm-taint.cc | 26 +- gcc/analyzer/varargs.cc | 16 +- gcc/c-family/c-common.cc | 28 +- gcc/c-family/c-common.h | 5 +- gcc/c-family/c-cppbuiltin.cc | 2 +- gcc/c-family/c-format.cc | 16 +- gcc/c-family/c-indentation.cc | 19 +- gcc/c-family/c-lex.cc | 2 +- gcc/c-family/c-opts.cc | 20 +- gcc/c-family/c-pragma.cc | 15 +- gcc/c-family/c-warn.cc | 4 +- gcc/c-family/known-headers.cc | 7 +- gcc/c-family/known-headers.h | 4 +- gcc/c/c-decl.cc | 2 +- gcc/c/c-errors.cc | 63 +- gcc/c/c-objc-common.cc | 2 +- gcc/c/c-parser.cc | 7 +- gcc/c/c-tree.h | 10 +- gcc/c/c-typeck.cc | 25 +- gcc/cobol/util.cc | 44 +- gcc/common.opt | 4 +- gcc/config/aarch64/aarch64.cc | 5 +- gcc/config/i386/i386-options.cc | 4 +- gcc/config/s390/s390.cc | 10 +- gcc/configure | 2 +- gcc/configure.ac | 2 +- gcc/coretypes.h | 6 +- gcc/cp/call.cc | 24 +- gcc/cp/constexpr.cc | 11 +- gcc/cp/cp-tree.h | 14 +- gcc/cp/decl.cc | 46 +- gcc/cp/error.cc | 98 +- gcc/cp/init.cc | 6 +- gcc/cp/method.cc | 19 +- gcc/cp/module.cc | 45 +- gcc/cp/name-lookup.cc | 2 +- gcc/cp/parser.cc | 38 +- gcc/cp/pt.cc | 4 +- gcc/cp/semantics.cc | 3 +- gcc/cp/typeck.cc | 15 +- gcc/cp/typeck2.cc | 15 +- gcc/d/d-diagnostic.cc | 23 +- gcc/diagnostic-core.h | 84 +- gcc/diagnostic-global-context.cc | 121 +- gcc/diagnostic.h | 1268 ++--------------- gcc/diagnostics/buffering.cc | 199 +++ .../buffering.h} | 64 +- .../changes.cc} | 303 ++-- gcc/{edit-context.h => diagnostics/changes.h} | 29 +- .../client-data-hooks.h} | 55 +- .../color.cc} | 8 +- .../color.h} | 6 +- gcc/diagnostics/context-options.h | 116 ++ gcc/{diagnostic.cc => diagnostics/context.cc} | 1066 +++++--------- gcc/diagnostics/context.h | 959 +++++++++++++ gcc/diagnostics/diagnostic-info.h | 75 + gcc/diagnostics/diagnostics-selftests.cc | 59 + gcc/diagnostics/diagnostics-selftests.h | 55 + .../diagram.h} | 16 +- .../digraphs.cc} | 32 +- .../digraphs.h} | 56 +- .../event-id.h} | 35 +- gcc/diagnostics/file-cache.cc | 1083 ++++++++++++++ gcc/diagnostics/file-cache.h | 125 ++ .../html-sink.cc} | 420 +++--- .../html-sink.h} | 34 +- gcc/{diagnostic.def => diagnostics/kinds.def} | 40 +- gcc/diagnostics/kinds.h | 45 + .../lazy-paths.cc} | 103 +- .../lazy-paths.h} | 36 +- .../logical-locations.h} | 127 +- .../macro-unwinding.cc} | 17 +- .../macro-unwinding.h} | 16 +- .../metadata.h} | 34 +- gcc/diagnostics/option-classifier.cc | 222 +++ gcc/diagnostics/option-classifier.h | 110 ++ gcc/diagnostics/option-id.h | 49 + .../output-file.h} | 34 +- .../output-spec.cc} | 136 +- .../output-spec.h} | 40 +- .../paths-output.cc} | 449 +++--- .../paths.cc} | 45 +- .../paths.h} | 74 +- .../sarif-sink.cc} | 734 +++++----- .../sarif-sink.h} | 85 +- .../selftest-context.cc} | 55 +- .../selftest-context.h} | 54 +- .../selftest-logical-locations.cc} | 44 +- .../selftest-logical-locations.h} | 35 +- .../selftest-paths.cc} | 143 +- .../selftest-paths.h} | 84 +- .../selftest-source-printing.h} | 27 +- .../sink.h} | 58 +- .../source-printing-effects.h} | 14 +- .../source-printing.cc} | 1022 ++++++------- .../state-graphs-to-dot.cc} | 27 +- .../state-graphs.cc} | 16 +- .../state-graphs.h} | 14 +- .../text-sink.cc} | 215 ++- .../text-sink.h} | 65 +- gcc/{diagnostic-url.h => diagnostics/url.h} | 6 +- gcc/doc/analyzer.texi | 4 +- gcc/errors.cc | 5 +- gcc/final.cc | 3 +- gcc/fortran/cpp.cc | 18 +- gcc/fortran/error.cc | 132 +- gcc/fortran/gfortran.h | 4 +- gcc/fortran/options.cc | 3 +- ...gnostic-spec.cc => gcc-diagnostic-spec.cc} | 2 +- ...iagnostic-spec.h => gcc-diagnostic-spec.h} | 6 +- gcc/gcc-rich-location.cc | 7 +- gcc/gcc-rich-location.h | 8 +- gcc/gcc.cc | 15 +- gcc/gdbinit.in | 6 +- gcc/gengtype.cc | 2 +- gcc/input.cc | 1073 +------------- gcc/input.h | 104 +- gcc/ipa-pure-const.cc | 2 +- gcc/jit/dummy-frontend.cc | 32 +- gcc/jit/jit-playback.cc | 2 +- gcc/jit/jit-playback.h | 9 +- gcc/langhooks-def.h | 8 +- gcc/langhooks.cc | 10 +- gcc/langhooks.h | 8 +- gcc/lazily-created.h | 51 + gcc/libgdiagnostics.cc | 277 ++-- gcc/libsarifreplay.cc | 2 +- gcc/lto-wrapper.cc | 8 +- gcc/m2/gm2-gcc/m2color.cc | 2 +- gcc/m2/gm2-gcc/m2linemap.cc | 15 +- gcc/m2/gm2-gcc/rtegraph.cc | 21 +- gcc/optc-gen.awk | 4 +- gcc/opth-gen.awk | 4 +- gcc/opts-common.cc | 31 +- gcc/opts-diagnostic.cc | 24 +- gcc/opts-diagnostic.h | 23 +- gcc/opts-global.cc | 6 +- gcc/opts.cc | 81 +- gcc/opts.h | 18 +- gcc/pretty-print-format-impl.h | 6 +- gcc/pretty-print-markup.h | 2 +- gcc/pretty-print.cc | 8 +- gcc/pretty-print.h | 2 +- gcc/rtl-error.cc | 10 +- gcc/rust/backend/rust-tree.cc | 12 +- gcc/rust/backend/rust-tree.h | 6 +- gcc/rust/resolve/rust-ast-resolve-expr.cc | 4 +- gcc/rust/resolve/rust-ice-finalizer.cc | 10 +- gcc/rust/resolve/rust-ice-finalizer.h | 6 +- .../resolve/rust-late-name-resolver-2.0.cc | 4 +- gcc/rust/rust-diagnostics.cc | 10 +- gcc/selftest-run-tests.cc | 15 +- gcc/selftest.cc | 5 +- gcc/selftest.h | 19 +- gcc/simple-diagnostic-path.cc | 30 +- gcc/simple-diagnostic-path.h | 49 +- gcc/substring-locations.cc | 16 +- gcc/substring-locations.h | 10 +- .../plugin/show-template-tree-color-labels.C | 2 +- .../plugin/show_template_tree_color_plugin.cc | 5 +- .../gcc.dg/plugin/analyzer_cpython_plugin.cc | 4 +- .../gcc.dg/plugin/analyzer_gil_plugin.cc | 16 +- .../gcc.dg/plugin/analyzer_kernel_plugin.cc | 4 +- .../plugin/analyzer_known_fns_plugin.cc | 4 +- .../plugin/diagnostic-test-show-locus.py | 2 +- .../gcc.dg/plugin/diagnostic_group_plugin.cc | 27 +- .../plugin/diagnostic_plugin_show_trees.cc | 2 +- .../plugin/diagnostic_plugin_test_graphs.cc | 16 +- .../plugin/diagnostic_plugin_test_inlining.cc | 2 +- .../plugin/diagnostic_plugin_test_metadata.cc | 13 +- .../plugin/diagnostic_plugin_test_paths.cc | 22 +- .../diagnostic_plugin_test_show_locus.cc | 48 +- .../diagnostic_plugin_test_string_literals.cc | 2 +- .../plugin/diagnostic_plugin_test_text_art.cc | 4 +- ...ostic_plugin_test_tree_expression_range.cc | 2 +- .../plugin/expensive_selftests_plugin.cc | 17 +- .../gcc.dg/plugin/location_overflow_plugin.cc | 22 +- .../gcc.dg/sarif-output/include-chain-2.h | 2 +- gcc/testsuite/lib/gcc-dg.exp | 4 +- gcc/testsuite/lib/sarif.py | 2 +- gcc/text-art/style.cc | 2 +- gcc/toplev.cc | 33 +- gcc/tree-diagnostic-client-data-hooks.cc | 31 +- gcc/tree-diagnostic.cc | 32 +- gcc/tree-diagnostic.h | 6 +- gcc/tree-logical-location.cc | 29 +- gcc/tree-logical-location.h | 22 +- gcc/warning-control.cc | 2 +- libcc1/context.cc | 6 +- libcpp/charset.cc | 2 +- libcpp/include/cpplib.h | 3 +- libcpp/include/rich-location.h | 13 +- libcpp/internal.h | 4 +- 227 files changed, 7687 insertions(+), 6740 deletions(-) create mode 100644 gcc/diagnostics/buffering.cc rename gcc/{diagnostic-buffer.h => diagnostics/buffering.h} (61%) rename gcc/{edit-context.cc => diagnostics/changes.cc} (88%) rename gcc/{edit-context.h => diagnostics/changes.h} (77%) rename gcc/{diagnostic-client-data-hooks.h => diagnostics/client-data-hooks.h} (72%) rename gcc/{diagnostic-color.cc => diagnostics/color.cc} (99%) rename gcc/{diagnostic-color.h => diagnostics/color.h} (95%) create mode 100644 gcc/diagnostics/context-options.h rename gcc/{diagnostic.cc => diagnostics/context.cc} (65%) create mode 100644 gcc/diagnostics/context.h create mode 100644 gcc/diagnostics/diagnostic-info.h create mode 100644 gcc/diagnostics/diagnostics-selftests.cc create mode 100644 gcc/diagnostics/diagnostics-selftests.h rename gcc/{diagnostic-diagram.h => diagnostics/diagram.h} (83%) rename gcc/{diagnostic-digraphs.cc => diagnostics/digraphs.cc} (95%) rename gcc/{diagnostic-digraphs.h => diagnostics/digraphs.h} (86%) rename gcc/{diagnostic-event-id.h => diagnostics/event-id.h} (74%) create mode 100644 gcc/diagnostics/file-cache.cc create mode 100644 gcc/diagnostics/file-cache.h rename gcc/{diagnostic-format-html.cc => diagnostics/html-sink.cc} (80%) rename gcc/{diagnostic-format-html.h => diagnostics/html-sink.h} (69%) rename gcc/{diagnostic.def => diagnostics/kinds.def} (53%) create mode 100644 gcc/diagnostics/kinds.h rename gcc/{lazy-diagnostic-path.cc => diagnostics/lazy-paths.cc} (62%) rename gcc/{lazy-diagnostic-path.h => diagnostics/lazy-paths.h} (65%) rename gcc/{logical-location.h => diagnostics/logical-locations.h} (62%) rename gcc/{diagnostic-macro-unwinding.cc => diagnostics/macro-unwinding.cc} (95%) rename gcc/{diagnostic-macro-unwinding.h => diagnostics/macro-unwinding.h} (69%) rename gcc/{diagnostic-metadata.h => diagnostics/metadata.h} (82%) create mode 100644 gcc/diagnostics/option-classifier.cc create mode 100644 gcc/diagnostics/option-classifier.h create mode 100644 gcc/diagnostics/option-id.h rename gcc/{diagnostic-output-file.h => diagnostics/output-file.h} (77%) rename gcc/{diagnostic-output-spec.cc => diagnostics/output-spec.cc} (89%) rename gcc/{diagnostic-output-spec.h => diagnostics/output-spec.h} (75%) rename gcc/{diagnostic-path-output.cc => diagnostics/paths-output.cc} (89%) rename gcc/{diagnostic-path.cc => diagnostics/paths.cc} (82%) rename gcc/{diagnostic-path.h => diagnostics/paths.h} (81%) rename gcc/{diagnostic-format-sarif.cc => diagnostics/sarif-sink.cc} (89%) rename gcc/{diagnostic-format-sarif.h => diagnostics/sarif-sink.h} (73%) rename gcc/{selftest-diagnostic.cc => diagnostics/selftest-context.cc} (58%) rename gcc/{selftest-diagnostic.h => diagnostics/selftest-context.h} (54%) rename gcc/{selftest-logical-location.cc => diagnostics/selftest-logical-locations.cc} (64%) rename gcc/{selftest-logical-location.h => diagnostics/selftest-logical-locations.h} (68%) rename gcc/{selftest-diagnostic-path.cc => diagnostics/selftest-paths.cc} (55%) rename gcc/{selftest-diagnostic-path.h => diagnostics/selftest-paths.h} (62%) rename gcc/{selftest-diagnostic-show-locus.h => diagnostics/selftest-source-printing.h} (76%) rename gcc/{diagnostic-format.h => diagnostics/sink.h} (64%) rename gcc/{diagnostic-label-effects.h => diagnostics/source-printing-effects.h} (86%) rename gcc/{diagnostic-show-locus.cc => diagnostics/source-printing.cc} (90%) rename gcc/{diagnostic-state-to-dot.cc => diagnostics/state-graphs-to-dot.cc} (94%) rename gcc/{diagnostic-state-graphs.cc => diagnostics/state-graphs.cc} (93%) rename gcc/{diagnostic-state-graphs.h => diagnostics/state-graphs.h} (93%) rename gcc/{diagnostic-format-text.cc => diagnostics/text-sink.cc} (73%) rename gcc/{diagnostic-format-text.h => diagnostics/text-sink.h} (72%) rename gcc/{diagnostic-url.h => diagnostics/url.h} (93%) rename gcc/{diagnostic-spec.cc => gcc-diagnostic-spec.cc} (99%) rename gcc/{diagnostic-spec.h => gcc-diagnostic-spec.h} (96%) create mode 100644 gcc/lazily-created.h -- 2.26.3