]> git.ipfire.org Git - thirdparty/gcc.git/commit
Use unique_ptr in more places in pretty_printer/diagnostics [PR116613]
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 24 Oct 2024 15:48:01 +0000 (11:48 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 24 Oct 2024 15:48:01 +0000 (11:48 -0400)
commitbf43fe6aa966eaf397ea3b8ebd6408d3d124e285
tree0912e67a8ceb611947719ba5b0b0bb076f83597f
parentfc1a001921c9c37b4d4dcaf180998aefb4037b8e
Use unique_ptr in more places in pretty_printer/diagnostics [PR116613]

My forthcoming patches for PR other/116613 make much more use of
cloning of pretty_printers than before, so it makes sense as a
preliminary patch for the result of pretty_printer::clone to be a
std::unique_ptr, rather than add more manual uses of "delete".

On doing so, I noticed various other places where naked new/delete is
used for run-time configuration of diagnostics:
* the output format (text vs SARIF)
* client data hooks
* the option manager
* the URLifier

Hence this patch also makes use of std::unique_ptr and ::make_unique for
managing such client policy classes, and also for diagnostic_buffer's
per-format implementations.

Unfortunately we can't directly include <memory> in our internal headers
but instead any of our TUs that make use of std::unique_ptr must #define
INCLUDE_MEMORY before including system.h.

Hence the bulk of this patch is taken up with adding a define of
INCLUDE_MEMORY to hundreds of source files: everything that includes
diagnostic.h or pretty-print.h (and thus anything transitively such as
includers of lto-wrapper.h, c-tree.h, cp-tree.h and rtl-ssa.h).

Thanks to Gaius Mulley for the parts of the patch that regenerated the
m2 files.

gcc/ada/ChangeLog:
PR other/116613
* gcc-interface/misc.cc: Add #define INCLUDE_MEMORY
* gcc-interface/trans.cc: Likewise.
* gcc-interface/utils.cc: Likewise.

gcc/analyzer/ChangeLog:
PR other/116613
* analyzer-logging.cc: Add #define INCLUDE_MEMORY
(logger::logger): Update for m_pp becoming a unique_ptr.
(logger::~logger): Likewise.
(logger::log_va_partial): Likewise.
(logger::end_log_line): Likewise.
* analyzer-logging.h (logger::get_printer): Likewise.
(logger::m_pp): Convert to a unique_ptr.
* analyzer.cc (make_label_text): Use
diagnostic_context::clone_printer and use unique_ptr.
(make_label_text_n): Likewise.
* bar-chart.cc: Add #define INCLUDE_MEMORY
* pending-diagnostic.cc (evdesc::event_desc::formatted_print):
Use diagnostic_context::clone_printer and use unique_ptr.
* sm-malloc.cc (sufficiently_similar_p): Likewise.
* supergraph.cc (supergraph::dump_dot_to_file): Likewise.

gcc/c-family/ChangeLog:
PR other/116613
* c-ada-spec.cc: Add #define INCLUDE_MEMORY.
* c-attribs.cc: Likewise.
* c-common.cc: Likewise.
* c-format.cc: Likewise.
* c-gimplify.cc: Likewise.
* c-indentation.cc: Likewise.
* c-opts.cc: Likewise.
* c-pch.cc: Likewise.
* c-pragma.cc: Likewise.
* c-pretty-print.cc: Likewise.  Add #include "make-unique.h".
(c_pretty_printer::clone): Use std::unique_ptr and ::make_unique.
* c-pretty-print.h (c_pretty_printer::clone): Use std::unique_ptr.
* c-type-mismatch.cc: Add #define INCLUDE_MEMORY.
* c-warn.cc: Likewise.

gcc/c/ChangeLog:
PR other/116613
* c-aux-info.cc: Add #define INCLUDE_MEMORY.
* c-convert.cc: Likewise.
* c-errors.cc: Likewise.
* c-fold.cc: Likewise.
* c-lang.cc: Likewise.
* c-objc-common.cc: Likewise.
(pp_markup::element_quoted_type::print_type): Use unique_ptr.
* c-typeck.cc: Add #define INCLUDE_MEMORY.
* gimple-parser.cc: Likewise.

gcc/cp/ChangeLog:
PR other/116613
* call.cc: Add #define INCLUDE_MEMORY.
* class.cc: Likewise.
* constexpr.cc: Likewise.
* constraint.cc: Likewise.
* contracts.cc: Likewise.
* coroutines.cc: Likewise.
* cp-gimplify.cc: Likewise.
* cp-lang.cc: Likewise.
* cp-objcp-common.cc: Likewise.
* cp-ubsan.cc: Likewise.
* cvt.cc: Likewise.
* cxx-pretty-print.cc: Likewise.  Add #include "cp-tree.h".
(cxx_pretty_printer::clone): Use std::unique_ptr and
::make_unique.
* cxx-pretty-print.h (cxx_pretty_printer::clone): Use
std::unique_ptr.
* decl2.cc: Add #define INCLUDE_MEMORY.
* dump.cc: Likewise.
* except.cc: Likewise.
* expr.cc: Likewise.
* friend.cc: Likewise.
* init.cc: Likewise.
* lambda.cc: Likewise.
* logic.cc: Likewise.
* mangle.cc: Likewise.
* method.cc: Likewise.
* optimize.cc: Likewise.
* pt.cc: Likewise.
* ptree.cc: Likewise.
* rtti.cc: Likewise.
* search.cc: Likewise.
* semantics.cc: Likewise.
* tree.cc: Likewise.
* typeck.cc: Likewise.
* typeck2.cc: Likewise.
* vtable-class-hierarchy.cc: Likewise.

gcc/d/ChangeLog:
PR other/116613
* d-attribs.cc: Add #define INCLUDE_MEMORY.
* d-builtins.cc: Likewise.
* d-codegen.cc: Likewise.
* d-convert.cc: Likewise.
* d-diagnostic.cc: Likewise.
* d-frontend.cc: Likewise.
* d-lang.cc: Likewise.
* d-longdouble.cc: Likewise.
* d-target.cc: Likewise.
* decl.cc: Likewise.
* expr.cc: Likewise.
* intrinsics.cc: Likewise.
* modules.cc: Likewise.
* toir.cc: Likewise.
* typeinfo.cc: Likewise.
* types.cc: Likewise.

gcc/fortran/ChangeLog:
PR other/116613
* arith.cc: Add #define INCLUDE_MEMORY.
* array.cc: Likewise.
* bbt.cc: Likewise.
* check.cc: Likewise.
* class.cc: Likewise.
* constructor.cc: Likewise.
* convert.cc: Likewise.
* cpp.cc: Likewise.
* data.cc: Likewise.
* decl.cc: Likewise.
* dependency.cc: Likewise.
* dump-parse-tree.cc: Likewise.
* error.cc: Likewise.
* expr.cc: Likewise.
* f95-lang.cc: Likewise.
* frontend-passes.cc: Likewise.
* interface.cc: Likewise.
* intrinsic.cc: Likewise.
* io.cc: Likewise.
* iresolve.cc: Likewise.
* match.cc: Likewise.
* matchexp.cc: Likewise.
* misc.cc: Likewise.
* module.cc: Likewise.
* openmp.cc: Likewise.
* options.cc: Likewise.
* parse.cc: Likewise.
* primary.cc: Likewise.
* resolve.cc: Likewise.
* scanner.cc: Likewise.
* simplify.cc: Likewise.
* st.cc: Likewise.
* symbol.cc: Likewise.
* target-memory.cc: Likewise.
* trans-array.cc: Likewise.
* trans-common.cc: Likewise.
* trans-const.cc: Likewise.
* trans-decl.cc: Likewise.
* trans-expr.cc: Likewise.
* trans-intrinsic.cc: Likewise.
* trans-io.cc: Likewise.
* trans-openmp.cc: Likewise.
* trans-stmt.cc: Likewise.
* trans-types.cc: Likewise.
* trans.cc: Likewise.

gcc/go/ChangeLog:
PR other/116613
* go-backend.cc: Add #define INCLUDE_MEMORY.
* go-lang.cc: Likewise.

gcc/jit/ChangeLog:
PR other/116613
* dummy-frontend.cc: Add #define INCLUDE_MEMORY.
* jit-playback.cc: Likewise.
* jit-recording.cc: Likewise.

gcc/lto/ChangeLog:
PR other/116613
* lto-common.cc: Add #define INCLUDE_MEMORY.
* lto-dump.cc: Likewise.
* lto-partition.cc: Likewise.
* lto-symtab.cc: Likewise.
* lto.cc: Likewise.

gcc/m2/ChangeLog:
PR other/116613
* gm2-gcc/gcc-consolidation.h: Add #define INCLUDE_MEMORY.
* gm2-gcc/m2configure.cc: Likewise.
* mc-boot/GASCII.cc: Regenerate.
* mc-boot/GASCII.h: Ditto.
* mc-boot/GArgs.cc: Ditto.
* mc-boot/GArgs.h: Ditto.
* mc-boot/GAssertion.cc: Ditto.
* mc-boot/GAssertion.h: Ditto.
* mc-boot/GBreak.cc: Ditto.
* mc-boot/GBreak.h: Ditto.
* mc-boot/GCOROUTINES.h: Ditto.
* mc-boot/GCmdArgs.cc: Ditto.
* mc-boot/GCmdArgs.h: Ditto.
* mc-boot/GDebug.cc: Ditto.
* mc-boot/GDebug.h: Ditto.
* mc-boot/GDynamicStrings.cc: Ditto.
* mc-boot/GDynamicStrings.h: Ditto.
* mc-boot/GEnvironment.cc: Ditto.
* mc-boot/GEnvironment.h: Ditto.
* mc-boot/GFIO.cc: Ditto.
* mc-boot/GFIO.h: Ditto.
* mc-boot/GFormatStrings.cc: Ditto.
* mc-boot/GFormatStrings.h: Ditto.
* mc-boot/GFpuIO.cc: Ditto.
* mc-boot/GFpuIO.h: Ditto.
* mc-boot/GIO.cc: Ditto.
* mc-boot/GIO.h: Ditto.
* mc-boot/GIndexing.cc: Ditto.
* mc-boot/GIndexing.h: Ditto.
* mc-boot/GM2Dependent.cc: Ditto.
* mc-boot/GM2Dependent.h: Ditto.
* mc-boot/GM2EXCEPTION.cc: Ditto.
* mc-boot/GM2EXCEPTION.h: Ditto.
* mc-boot/GM2RTS.cc: Ditto.
* mc-boot/GM2RTS.h: Ditto.
* mc-boot/GMemUtils.cc: Ditto.
* mc-boot/GMemUtils.h: Ditto.
* mc-boot/GNumberIO.cc: Ditto.
* mc-boot/GNumberIO.h: Ditto.
* mc-boot/GPushBackInput.cc: Ditto.
* mc-boot/GPushBackInput.h: Ditto.
* mc-boot/GRTExceptions.cc: Ditto.
* mc-boot/GRTExceptions.h: Ditto.
* mc-boot/GRTco.h: Ditto.
* mc-boot/GRTentity.h: Ditto.
* mc-boot/GRTint.cc: Ditto.
* mc-boot/GRTint.h: Ditto.
* mc-boot/GSArgs.cc: Ditto.
* mc-boot/GSArgs.h: Ditto.
* mc-boot/GSFIO.cc: Ditto.
* mc-boot/GSFIO.h: Ditto.
* mc-boot/GSYSTEM.h: Ditto.
* mc-boot/GSelective.h: Ditto.
* mc-boot/GStdIO.cc: Ditto.
* mc-boot/GStdIO.h: Ditto.
* mc-boot/GStorage.cc: Ditto.
* mc-boot/GStorage.h: Ditto.
* mc-boot/GStrCase.cc: Ditto.
* mc-boot/GStrCase.h: Ditto.
* mc-boot/GStrIO.cc: Ditto.
* mc-boot/GStrIO.h: Ditto.
* mc-boot/GStrLib.cc: Ditto.
* mc-boot/GStrLib.h: Ditto.
* mc-boot/GStringConvert.cc: Ditto.
* mc-boot/GStringConvert.h: Ditto.
* mc-boot/GSysExceptions.h: Ditto.
* mc-boot/GSysStorage.cc: Ditto.
* mc-boot/GSysStorage.h: Ditto.
* mc-boot/GTimeString.cc: Ditto.
* mc-boot/GTimeString.h: Ditto.
* mc-boot/GUnixArgs.h: Ditto.
* mc-boot/Galists.cc: Ditto.
* mc-boot/Galists.h: Ditto.
* mc-boot/Gdecl.cc: Ditto.
* mc-boot/Gdecl.h: Ditto.
* mc-boot/Gdtoa.h: Ditto.
* mc-boot/Gerrno.h: Ditto.
* mc-boot/Gkeyc.cc: Ditto.
* mc-boot/Gkeyc.h: Ditto.
* mc-boot/Gldtoa.h: Ditto.
* mc-boot/Glibc.h: Ditto.
* mc-boot/Glibm.h: Ditto.
* mc-boot/Glists.cc: Ditto.
* mc-boot/Glists.h: Ditto.
* mc-boot/GmcComment.cc: Ditto.
* mc-boot/GmcComment.h: Ditto.
* mc-boot/GmcComp.cc: Ditto.
* mc-boot/GmcComp.h: Ditto.
* mc-boot/GmcDebug.cc: Ditto.
* mc-boot/GmcDebug.h: Ditto.
* mc-boot/GmcError.cc: Ditto.
* mc-boot/GmcError.h: Ditto.
* mc-boot/GmcFileName.cc: Ditto.
* mc-boot/GmcFileName.h: Ditto.
* mc-boot/GmcLexBuf.cc: Ditto.
* mc-boot/GmcLexBuf.h: Ditto.
* mc-boot/GmcMetaError.cc: Ditto.
* mc-boot/GmcMetaError.h: Ditto.
* mc-boot/GmcOptions.cc: Ditto.
* mc-boot/GmcOptions.h: Ditto.
* mc-boot/GmcPreprocess.cc: Ditto.
* mc-boot/GmcPreprocess.h: Ditto.
* mc-boot/GmcPretty.cc: Ditto.
* mc-boot/GmcPretty.h: Ditto.
* mc-boot/GmcPrintf.cc: Ditto.
* mc-boot/GmcPrintf.h: Ditto.
* mc-boot/GmcQuiet.cc: Ditto.
* mc-boot/GmcQuiet.h: Ditto.
* mc-boot/GmcReserved.cc: Ditto.
* mc-boot/GmcReserved.h: Ditto.
* mc-boot/GmcSearch.cc: Ditto.
* mc-boot/GmcSearch.h: Ditto.
* mc-boot/GmcStack.cc: Ditto.
* mc-boot/GmcStack.h: Ditto.
* mc-boot/GmcStream.cc: Ditto.
* mc-boot/GmcStream.h: Ditto.
* mc-boot/Gmcflex.h: Ditto.
* mc-boot/Gmcp1.cc: Ditto.
* mc-boot/Gmcp1.h: Ditto.
* mc-boot/Gmcp2.cc: Ditto.
* mc-boot/Gmcp2.h: Ditto.
* mc-boot/Gmcp3.cc: Ditto.
* mc-boot/Gmcp3.h: Ditto.
* mc-boot/Gmcp4.cc: Ditto.
* mc-boot/Gmcp4.h: Ditto.
* mc-boot/Gmcp5.cc: Ditto.
* mc-boot/Gmcp5.h: Ditto.
* mc-boot/GnameKey.cc: Ditto.
* mc-boot/GnameKey.h: Ditto.
* mc-boot/GsymbolKey.cc: Ditto.
* mc-boot/GsymbolKey.h: Ditto.
* mc-boot/Gtermios.h: Ditto.
* mc-boot/Gtop.cc: Ditto.
* mc-boot/Gvarargs.cc: Ditto.
* mc-boot/Gvarargs.h: Ditto.
* mc-boot/Gwlists.cc: Ditto.
* mc-boot/Gwlists.h: Ditto.
* mc-boot/Gwrapc.h: Ditto.
* mc/keyc.mod (checkGccConfigSystem): Add
#define INCLUDE_MEMORY.
* pge-boot/GASCII.cc: Regenerate.
* pge-boot/GASCII.h: Ditto.
* pge-boot/GArgs.cc: Ditto.
* pge-boot/GArgs.h: Ditto.
* pge-boot/GAssertion.cc: Ditto.
* pge-boot/GAssertion.h: Ditto.
* pge-boot/GBreak.h: Ditto.
* pge-boot/GCmdArgs.h: Ditto.
* pge-boot/GDebug.cc: Ditto.
* pge-boot/GDebug.h: Ditto.
* pge-boot/GDynamicStrings.cc: Ditto.
* pge-boot/GDynamicStrings.h: Ditto.
* pge-boot/GEnvironment.h: Ditto.
* pge-boot/GFIO.cc: Ditto.
* pge-boot/GFIO.h: Ditto.
* pge-boot/GFormatStrings.h: Ditto.
* pge-boot/GFpuIO.h: Ditto.
* pge-boot/GIO.cc: Ditto.
* pge-boot/GIO.h: Ditto.
* pge-boot/GIndexing.cc: Ditto.
* pge-boot/GIndexing.h: Ditto.
* pge-boot/GLists.cc: Ditto.
* pge-boot/GLists.h: Ditto.
* pge-boot/GM2Dependent.cc: Ditto.
* pge-boot/GM2Dependent.h: Ditto.
* pge-boot/GM2EXCEPTION.cc: Ditto.
* pge-boot/GM2EXCEPTION.h: Ditto.
* pge-boot/GM2RTS.cc: Ditto.
* pge-boot/GM2RTS.h: Ditto.
* pge-boot/GNameKey.cc: Ditto.
* pge-boot/GNameKey.h: Ditto.
* pge-boot/GNumberIO.cc: Ditto.
* pge-boot/GNumberIO.h: Ditto.
* pge-boot/GOutput.cc: Ditto.
* pge-boot/GOutput.h: Ditto.
* pge-boot/GPushBackInput.cc: Ditto.
* pge-boot/GPushBackInput.h: Ditto.
* pge-boot/GRTExceptions.cc: Ditto.
* pge-boot/GRTExceptions.h: Ditto.
* pge-boot/GSArgs.h: Ditto.
* pge-boot/GSEnvironment.h: Ditto.
* pge-boot/GSFIO.cc: Ditto.
* pge-boot/GSFIO.h: Ditto.
* pge-boot/GSYSTEM.h: Ditto.
* pge-boot/GScan.h: Ditto.
* pge-boot/GStdIO.cc: Ditto.
* pge-boot/GStdIO.h: Ditto.
* pge-boot/GStorage.cc: Ditto.
* pge-boot/GStorage.h: Ditto.
* pge-boot/GStrCase.cc: Ditto.
* pge-boot/GStrCase.h: Ditto.
* pge-boot/GStrIO.cc: Ditto.
* pge-boot/GStrIO.h: Ditto.
* pge-boot/GStrLib.cc: Ditto.
* pge-boot/GStrLib.h: Ditto.
* pge-boot/GStringConvert.h: Ditto.
* pge-boot/GSymbolKey.cc: Ditto.
* pge-boot/GSymbolKey.h: Ditto.
* pge-boot/GSysExceptions.h: Ditto.
* pge-boot/GSysStorage.cc: Ditto.
* pge-boot/GSysStorage.h: Ditto.
* pge-boot/GTimeString.h: Ditto.
* pge-boot/GUnixArgs.h: Ditto.
* pge-boot/Gbnflex.cc: Ditto.
* pge-boot/Gbnflex.h: Ditto.
* pge-boot/Gdtoa.h: Ditto.
* pge-boot/Gerrno.h: Ditto.
* pge-boot/Gldtoa.h: Ditto.
* pge-boot/Glibc.h: Ditto.
* pge-boot/Glibm.h: Ditto.
* pge-boot/Gpge.cc: Ditto.
* pge-boot/Gtermios.h: Ditto.
* pge-boot/Gwrapc.h: Ditto.

gcc/objc/ChangeLog:
PR other/116613
* objc-act.cc: Add #define INCLUDE_MEMORY.
* objc-encoding.cc: Likewise.
* objc-gnu-runtime-abi-01.cc: Likewise.
* objc-lang.cc: Likewise.
* objc-next-runtime-abi-01.cc: Likewise.
* objc-next-runtime-abi-02.cc: Likewise.
* objc-runtime-shared-support.cc: Likewise.

gcc/objcp/ChangeLog:: Add #define INCLUDE_MEMORY.
PR other/116613
* objcp-decl.cc
* objcp-lang.cc: Likewise.

gcc/rust/ChangeLog:
PR other/116613
* resolve/rust-ast-resolve-expr.cc: Add #define INCLUDE_MEMORY.
* rust-attribs.cc: Likewise.
* rust-system.h: Likewise.

gcc/ChangeLog:
PR other/116613
* asan.cc: Add #define INCLUDE_MEMORY.
* attribs.cc: Likewise.
(attr_access::array_as_string): Use
diagnostic_context::clone_printer and use unique_ptr.
* auto-profile.cc: Add #define INCLUDE_MEMORY.
* calls.cc: Likewise.
* cfganal.cc: Likewise.
* cfgexpand.cc: Likewise.
* cfghooks.cc: Likewise.
* cfgloop.cc: Likewise.
* cgraph.cc: Likewise.
* cgraphclones.cc: Likewise.
* cgraphunit.cc: Likewise.
* collect-utils.cc: Likewise.
* collect2.cc: Likewise.
* common/config/aarch64/aarch64-common.cc: Likewise.
* common/config/arm/arm-common.cc: Likewise.
* common/config/avr/avr-common.cc: Likewise.
* config/aarch64/aarch64-cc-fusion.cc: Likewise.
* config/aarch64/aarch64-early-ra.cc: Likewise.
* config/aarch64/aarch64-sve-builtins.cc: Likewise.
* config/arc/arc.cc: Likewise.
* config/arm/aarch-common.cc: Likewise.
* config/arm/arm-mve-builtins.cc: Likewise.
* config/avr/avr-devices.cc: Likewise.
* config/avr/driver-avr.cc: Likewise.
* config/bpf/bpf.cc: Likewise.
* config/bpf/btfext-out.cc: Likewise.
* config/bpf/core-builtins.cc: Likewise.
* config/darwin.cc: Likewise.
* config/i386/driver-i386.cc: Likewise.
* config/i386/i386-builtins.cc: Likewise.
* config/i386/i386-expand.cc: Likewise.
* config/i386/i386-features.cc: Likewise.
* config/i386/i386-options.cc: Likewise.
* config/loongarch/loongarch-builtins.cc: Likewise.
* config/mingw/winnt-cxx.cc: Likewise.
* config/mingw/winnt.cc: Likewise.
* config/mips/mips.cc: Likewise.
* config/msp430/driver-msp430.cc: Likewise.
* config/nvptx/mkoffload.cc: Likewise.
* config/nvptx/nvptx.cc: Likewise.
* config/riscv/riscv-avlprop.cc: Likewise.
* config/riscv/riscv-vector-builtins.cc: Likewise.
* config/riscv/riscv-vsetvl.cc: Likewise.
* config/rs6000/driver-rs6000.cc: Likewise.
* config/rs6000/host-darwin.cc: Likewise.
* config/rs6000/rs6000-c.cc: Likewise.
* config/s390/s390-c.cc: Likewise.
* config/s390/s390.cc: Likewise.
* config/sol2-cxx.cc: Likewise.
* config/vms/vms-c.cc: Likewise.
* config/xtensa/xtensa-dynconfig.cc: Likewise.
* coroutine-passes.cc: Likewise.
* coverage.cc: Likewise.
* data-streamer-in.cc: Likewise.
* data-streamer-out.cc: Likewise.
* data-streamer.cc: Likewise.
* diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer):
Delete.
(diagnostic_buffer::m_per_format_buffer): Use std::unique_ptr.
* diagnostic-client-data-hooks.h (make_compiler_data_hooks): Use
std::unique_ptr for return type.
* diagnostic-format-json.cc
(json_output_format::make_per_format_buffer): Likewise.
(diagnostic_output_format_init_json): Update for usage of
std::unique_ptr in set_output_format.
* diagnostic-format-sarif.cc
(sarif_output_format::make_per_format_buffer): Use std::unique_ptr
for return type.
(diagnostic_output_format_init_sarif): Update for usage of
std::unique_ptr.
(test_message_with_embedded_link): Likewise for set_urlifier.
* diagnostic-format-text.cc: Add #define INCLUDE_MEMORY.  Include
"make-unique.h".
(diagnostic_text_output_format::set_buffer): Use std::unique_ptr.
* diagnostic-format-text.h
(diagnostic_text_output_format::set_buffer): Likewise.
* diagnostic-format.h
(diagnostic_output_format::make_per_format_buffer): Likewise.
* diagnostic-global-context.cc:
* diagnostic-macro-unwinding.cc: Likewise.
* diagnostic-show-locus.cc: Likewise.
* diagnostic-spec.cc: Likewise.
* diagnostic.cc (diagnostic_context::set_output_format): Use
std::unique_ptr for input.
(diagnostic_context::set_client_data_hooks): Likewise.
(diagnostic_context::set_option_manager): Likewise.
(diagnostic_context::set_urlifier): Likewise.
(diagnostic_context::set_diagnostic_buffer): Update for use of
std::unique_ptr.
(diagnostic_buffer::diagnostic_buffer): Likewise.
(diagnostic_buffer::~diagnostic_buffer): Delete.
* diagnostic.h: Complain if INCLUDE_MEMORY was not defined.
(diagnostic_context::set_output_format): Use std::unique_ptr for
input.
(diagnostic_context::set_client_data_hooks): Likewise.
(diagnostic_context::set_option_manager): Likewise.
(diagnostic_context::set_urlifier): Likewise.
(diagnostic_context::clone_printer): New.
(diagnostic_context::m_printer): Update comment.
(diagnostic_context::m_option_mgr): Likewise.
(diagnostic_context::m_urlifier): Likewise.
(diagnostic_context::m_edit_context_ptr): Likewise.
(diagnostic_context::m_output_format): Likewise.
(diagnostic_context::m_client_data_hooks): Likewise.
(diagnostic_context::m_theme): Likewise.
* digraph.cc: Add #define INCLUDE_MEMORY.
* dwarf2out.cc: Likewise.
* edit-context.cc: Likewise.
* except.cc: Likewise.
* expr.cc: Likewise.
* file-prefix-map.cc: Likewise.
* final.cc: Likewise.
* fwprop.cc: Likewise.
* gcc-plugin.h: Likewise.
* gcc-rich-location.cc: Likewise.
* gcc-urlifier.cc: Likewise.  Add #include "make-unique.h".
(make_gcc_urlifier): Use std::unique_ptr and ::make_unique.
* gcc-urlifier.h (make_gcc_urlifier): Use std::unique_ptr.
* gcc.cc: Add #define INCLUDE_MEMORY.  Include
"pretty-print-urlifier.h".
* gcov-dump.cc: Add #define INCLUDE_MEMORY.
* gcov-tool.cc: Likewise.
* gengtype.cc (open_base_files): Likewise to output.
* genmatch.cc: Likewise.
* gimple-fold.cc: Likewise.
* gimple-harden-conditionals.cc: Likewise.
* gimple-harden-control-flow.cc: Likewise.
* gimple-if-to-switch.cc: Likewise.
* gimple-lower-bitint.cc: Likewise.
* gimple-predicate-analysis.cc: Likewise.
* gimple-pretty-print.cc: Likewise.
* gimple-range-cache.cc: Likewise.
* gimple-range-edge.cc: Likewise.
* gimple-range-fold.cc: Likewise.
* gimple-range-gori.cc: Likewise.
* gimple-range-infer.cc: Likewise.
* gimple-range-op.cc: Likewise.
* gimple-range-path.cc: Likewise.
* gimple-range-phi.cc: Likewise.
* gimple-range-trace.cc: Likewise.
* gimple-range.cc: Likewise.
* gimple-ssa-backprop.cc: Likewise.
* gimple-ssa-sprintf.cc: Likewise.
* gimple-ssa-store-merging.cc: Likewise.
* gimple-ssa-strength-reduction.cc: Likewise.
* gimple-ssa-warn-access.cc: Likewise.
* gimple-ssa-warn-alloca.cc: Likewise.
* gimple-ssa-warn-restrict.cc: Likewise.
* gimple-streamer-in.cc: Likewise.
* gimple-streamer-out.cc: Likewise.
* gimple.cc: Likewise.
* gimplify.cc: Likewise.
* graph.cc: Likewise.
* graphviz.cc: Likewise.
* input.cc: Likewise.
* ipa-cp.cc: Likewise.
* ipa-devirt.cc: Likewise.
* ipa-fnsummary.cc: Likewise.
* ipa-free-lang-data.cc: Likewise.
* ipa-icf-gimple.cc: Likewise.
* ipa-icf.cc: Likewise.
* ipa-inline-analysis.cc: Likewise.
* ipa-inline.cc: Likewise.
* ipa-modref-tree.cc: Likewise.
* ipa-modref.cc: Likewise.
* ipa-param-manipulation.cc: Likewise.
* ipa-polymorphic-call.cc: Likewise.
* ipa-predicate.cc: Likewise.
* ipa-profile.cc: Likewise.
* ipa-prop.cc: Likewise.
* ipa-pure-const.cc: Likewise.
* ipa-reference.cc: Likewise.
* ipa-split.cc: Likewise.
* ipa-sra.cc: Likewise.
* ipa-strub.cc: Likewise.
* ipa-utils.cc: Likewise.
* langhooks.cc: Likewise.
* late-combine.cc: Likewise.
* lto-cgraph.cc: Likewise.
* lto-compress.cc: Likewise.
* lto-opts.cc: Likewise.
* lto-section-in.cc: Likewise.
* lto-section-out.cc: Likewise.
* lto-streamer-in.cc: Likewise.
* lto-streamer-out.cc: Likewise.
* lto-streamer.cc: Likewise.
* lto-wrapper.cc: Likewise.  Include "make-unique.h".
(main): Use ::make_unique when creating option manager.
* multiple_target.cc: Likewise.
* omp-expand.cc: Likewise.
* omp-general.cc: Likewise.
* omp-low.cc: Likewise.
* omp-oacc-neuter-broadcast.cc: Likewise.
* omp-offload.cc: Likewise.
* omp-simd-clone.cc: Likewise.
* optc-gen.awk: Likewise in output.
* optc-save-gen.awk: Likewise in output.
* options-urls-cc-gen.awk: Likewise in output.
* opts-common.cc: Likewise.
* opts-global.cc: Likewise.
* opts.cc: Likewise.
* pair-fusion.cc: Likewise.
* passes.cc: Likewise.
* pointer-query.cc: Likewise.
* predict.cc: Likewise.
* pretty-print.cc (pretty_printer::clone): Use std::unique_ptr and
::make_unique.
* pretty-print.h: Complain if INCLUDE_MEMORY is not defined.
(pretty_printer::clone): Use std::unique_ptr.
* print-rtl.cc: Add #define INCLUDE_MEMORY.
* print-tree.cc: Likewise.
* profile-count.cc: Likewise.
* range-op-float.cc: Likewise.
* range-op-ptr.cc: Likewise.
* range-op.cc: Likewise.
* range.cc: Likewise.
* read-rtl-function.cc: Likewise.
* rtl-error.cc: Likewise.
* rtl-ssa/accesses.cc: Likewise.
* rtl-ssa/blocks.cc: Likewise.
* rtl-ssa/changes.cc: Likewise.
* rtl-ssa/functions.cc: Likewise.
* rtl-ssa/insns.cc: Likewise.
* rtl-ssa/movement.cc: Likewise.
* rtl-tests.cc: Likewise.
* sanopt.cc: Likewise.
* sched-rgn.cc: Likewise.
* selftest-diagnostic-path.cc: Likewise.
* selftest-diagnostic.cc: Likewise.
* splay-tree-utils.cc: Likewise.
* sreal.cc: Likewise.
* stmt.cc: Likewise.
* substring-locations.cc: Likewise.
* symtab-clones.cc: Likewise.
* symtab-thunks.cc: Likewise.
* symtab.cc: Likewise.
* text-art/box-drawing.cc: Likewise.
* text-art/canvas.cc: Likewise.
* text-art/ruler.cc: Likewise.
* text-art/selftests.cc: Likewise.
* text-art/theme.cc: Likewise.
* toplev.cc: Likewise.  Include "make-unique.h".
(general_init): Use ::make_unique when setting option_manager.
* trans-mem.cc: Add #define INCLUDE_MEMORY.
* tree-affine.cc: Likewise.
* tree-call-cdce.cc: Likewise.
* tree-cfg.cc: Likewise.
* tree-chrec.cc: Likewise.
* tree-dfa.cc: Likewise.
* tree-diagnostic-client-data-hooks.cc: Include "make-unique.h".
(make_compiler_data_hooks): Use std::unique_ptr and ::make_unique.
* tree-diagnostic.cc: Add #define INCLUDE_MEMORY.
* tree-dump.cc: Likewise.
* tree-inline.cc: Likewise.
* tree-into-ssa.cc: Likewise.
* tree-logical-location.cc: Likewise.
* tree-nested.cc: Likewise.
* tree-nrv.cc: Likewise.
* tree-object-size.cc: Likewise.
* tree-outof-ssa.cc: Likewise.
* tree-pretty-print.cc: Likewise.
* tree-profile.cc: Likewise.
* tree-scalar-evolution.cc: Likewise.
* tree-sra.cc: Likewise.
* tree-ssa-address.cc: Likewise.
* tree-ssa-alias.cc: Likewise.
* tree-ssa-ccp.cc: Likewise.
* tree-ssa-coalesce.cc: Likewise.
* tree-ssa-copy.cc: Likewise.
* tree-ssa-dce.cc: Likewise.
* tree-ssa-dom.cc: Likewise.
* tree-ssa-forwprop.cc: Likewise.
* tree-ssa-ifcombine.cc: Likewise.
* tree-ssa-loop-ch.cc: Likewise.
* tree-ssa-loop-im.cc: Likewise.
* tree-ssa-loop-manip.cc: Likewise.
* tree-ssa-loop-niter.cc: Likewise.
* tree-ssa-loop-split.cc: Likewise.
* tree-ssa-math-opts.cc: Likewise.
* tree-ssa-operands.cc: Likewise.
* tree-ssa-phiprop.cc: Likewise.
* tree-ssa-pre.cc: Likewise.
* tree-ssa-propagate.cc: Likewise.
* tree-ssa-reassoc.cc: Likewise.
* tree-ssa-sccvn.cc: Likewise.
* tree-ssa-scopedtables.cc: Likewise.
* tree-ssa-sink.cc: Likewise.
* tree-ssa-strlen.cc: Likewise.
* tree-ssa-structalias.cc: Likewise.
* tree-ssa-ter.cc: Likewise.
* tree-ssa-uninit.cc: Likewise.
* tree-ssa.cc: Likewise.
* tree-ssanames.cc: Likewise.
* tree-stdarg.cc: Likewise.
* tree-streamer-in.cc: Likewise.
* tree-streamer-out.cc: Likewise.
* tree-streamer.cc: Likewise.
* tree-switch-conversion.cc: Likewise.
* tree-tailcall.cc: Likewise.
* tree-vrp.cc: Likewise.
* tree.cc: Likewise.
* ubsan.cc: Likewise.
* value-pointer-equiv.cc: Likewise.
* value-prof.cc: Likewise.
* value-query.cc: Likewise.
* value-range-pretty-print.cc: Likewise.
* value-range-storage.cc: Likewise.
* value-range.cc: Likewise.
* value-relation.cc: Likewise.
* var-tracking.cc: Likewise.
* varpool.cc: Likewise.
* vr-values.cc: Likewise.
* wide-int-print.cc: Likewise.

gcc/testsuite/ChangeLog:
PR other/116613
* gcc.dg/plugin/diagnostic_group_plugin.c: Update for use of
std::unique_ptr.
* gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Likewise.
* gcc.dg/plugin/ggcplug.c: Likewise.

libgcc/ChangeLog:
PR other/116613
* libgcov-util.c: Add #define INCLUDE_MEMORY.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Co-authored-by: Gaius Mulley <gaiusmod2@gmail.com>
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
633 files changed:
gcc/ada/gcc-interface/misc.cc
gcc/ada/gcc-interface/trans.cc
gcc/ada/gcc-interface/utils.cc
gcc/analyzer/analyzer-logging.cc
gcc/analyzer/analyzer-logging.h
gcc/analyzer/analyzer.cc
gcc/analyzer/bar-chart.cc
gcc/analyzer/pending-diagnostic.cc
gcc/analyzer/sm-malloc.cc
gcc/analyzer/supergraph.cc
gcc/asan.cc
gcc/attribs.cc
gcc/auto-profile.cc
gcc/c-family/c-ada-spec.cc
gcc/c-family/c-attribs.cc
gcc/c-family/c-common.cc
gcc/c-family/c-format.cc
gcc/c-family/c-gimplify.cc
gcc/c-family/c-indentation.cc
gcc/c-family/c-opts.cc
gcc/c-family/c-pch.cc
gcc/c-family/c-pragma.cc
gcc/c-family/c-pretty-print.cc
gcc/c-family/c-pretty-print.h
gcc/c-family/c-type-mismatch.cc
gcc/c-family/c-warn.cc
gcc/c/c-aux-info.cc
gcc/c/c-convert.cc
gcc/c/c-errors.cc
gcc/c/c-fold.cc
gcc/c/c-lang.cc
gcc/c/c-objc-common.cc
gcc/c/c-typeck.cc
gcc/c/gimple-parser.cc
gcc/calls.cc
gcc/cfganal.cc
gcc/cfgexpand.cc
gcc/cfghooks.cc
gcc/cfgloop.cc
gcc/cgraph.cc
gcc/cgraphclones.cc
gcc/cgraphunit.cc
gcc/collect-utils.cc
gcc/collect2.cc
gcc/common/config/aarch64/aarch64-common.cc
gcc/common/config/arm/arm-common.cc
gcc/common/config/avr/avr-common.cc
gcc/config/aarch64/aarch64-cc-fusion.cc
gcc/config/aarch64/aarch64-early-ra.cc
gcc/config/aarch64/aarch64-sve-builtins.cc
gcc/config/arc/arc.cc
gcc/config/arm/aarch-common.cc
gcc/config/arm/arm-mve-builtins.cc
gcc/config/avr/avr-devices.cc
gcc/config/avr/driver-avr.cc
gcc/config/bpf/bpf.cc
gcc/config/bpf/btfext-out.cc
gcc/config/bpf/core-builtins.cc
gcc/config/darwin.cc
gcc/config/i386/driver-i386.cc
gcc/config/i386/i386-builtins.cc
gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-features.cc
gcc/config/i386/i386-options.cc
gcc/config/loongarch/loongarch-builtins.cc
gcc/config/mingw/winnt-cxx.cc
gcc/config/mingw/winnt.cc
gcc/config/mips/mips.cc
gcc/config/msp430/driver-msp430.cc
gcc/config/nvptx/mkoffload.cc
gcc/config/nvptx/nvptx.cc
gcc/config/riscv/riscv-avlprop.cc
gcc/config/riscv/riscv-vector-builtins.cc
gcc/config/riscv/riscv-vsetvl.cc
gcc/config/rs6000/driver-rs6000.cc
gcc/config/rs6000/host-darwin.cc
gcc/config/rs6000/rs6000-c.cc
gcc/config/s390/s390-c.cc
gcc/config/s390/s390.cc
gcc/config/sol2-cxx.cc
gcc/config/vms/vms-c.cc
gcc/config/xtensa/xtensa-dynconfig.cc
gcc/coroutine-passes.cc
gcc/coverage.cc
gcc/cp/call.cc
gcc/cp/class.cc
gcc/cp/constexpr.cc
gcc/cp/constraint.cc
gcc/cp/contracts.cc
gcc/cp/coroutines.cc
gcc/cp/cp-gimplify.cc
gcc/cp/cp-lang.cc
gcc/cp/cp-objcp-common.cc
gcc/cp/cp-ubsan.cc
gcc/cp/cvt.cc
gcc/cp/cxx-pretty-print.cc
gcc/cp/cxx-pretty-print.h
gcc/cp/decl2.cc
gcc/cp/dump.cc
gcc/cp/except.cc
gcc/cp/expr.cc
gcc/cp/friend.cc
gcc/cp/init.cc
gcc/cp/lambda.cc
gcc/cp/logic.cc
gcc/cp/mangle.cc
gcc/cp/method.cc
gcc/cp/optimize.cc
gcc/cp/pt.cc
gcc/cp/ptree.cc
gcc/cp/rtti.cc
gcc/cp/search.cc
gcc/cp/semantics.cc
gcc/cp/tree.cc
gcc/cp/typeck.cc
gcc/cp/typeck2.cc
gcc/cp/vtable-class-hierarchy.cc
gcc/d/d-attribs.cc
gcc/d/d-builtins.cc
gcc/d/d-codegen.cc
gcc/d/d-convert.cc
gcc/d/d-diagnostic.cc
gcc/d/d-frontend.cc
gcc/d/d-lang.cc
gcc/d/d-longdouble.cc
gcc/d/d-target.cc
gcc/d/decl.cc
gcc/d/expr.cc
gcc/d/intrinsics.cc
gcc/d/modules.cc
gcc/d/toir.cc
gcc/d/typeinfo.cc
gcc/d/types.cc
gcc/data-streamer-in.cc
gcc/data-streamer-out.cc
gcc/data-streamer.cc
gcc/diagnostic-buffer.h
gcc/diagnostic-client-data-hooks.h
gcc/diagnostic-format-json.cc
gcc/diagnostic-format-sarif.cc
gcc/diagnostic-format-text.cc
gcc/diagnostic-format-text.h
gcc/diagnostic-format.h
gcc/diagnostic-global-context.cc
gcc/diagnostic-macro-unwinding.cc
gcc/diagnostic-show-locus.cc
gcc/diagnostic-spec.cc
gcc/diagnostic.cc
gcc/diagnostic.h
gcc/digraph.cc
gcc/dwarf2out.cc
gcc/edit-context.cc
gcc/except.cc
gcc/expr.cc
gcc/file-prefix-map.cc
gcc/final.cc
gcc/fortran/arith.cc
gcc/fortran/array.cc
gcc/fortran/bbt.cc
gcc/fortran/check.cc
gcc/fortran/class.cc
gcc/fortran/constructor.cc
gcc/fortran/convert.cc
gcc/fortran/cpp.cc
gcc/fortran/data.cc
gcc/fortran/decl.cc
gcc/fortran/dependency.cc
gcc/fortran/dump-parse-tree.cc
gcc/fortran/error.cc
gcc/fortran/expr.cc
gcc/fortran/f95-lang.cc
gcc/fortran/frontend-passes.cc
gcc/fortran/interface.cc
gcc/fortran/intrinsic.cc
gcc/fortran/io.cc
gcc/fortran/iresolve.cc
gcc/fortran/match.cc
gcc/fortran/matchexp.cc
gcc/fortran/misc.cc
gcc/fortran/module.cc
gcc/fortran/openmp.cc
gcc/fortran/options.cc
gcc/fortran/parse.cc
gcc/fortran/primary.cc
gcc/fortran/resolve.cc
gcc/fortran/scanner.cc
gcc/fortran/simplify.cc
gcc/fortran/st.cc
gcc/fortran/symbol.cc
gcc/fortran/target-memory.cc
gcc/fortran/trans-array.cc
gcc/fortran/trans-common.cc
gcc/fortran/trans-const.cc
gcc/fortran/trans-decl.cc
gcc/fortran/trans-expr.cc
gcc/fortran/trans-intrinsic.cc
gcc/fortran/trans-io.cc
gcc/fortran/trans-openmp.cc
gcc/fortran/trans-stmt.cc
gcc/fortran/trans-types.cc
gcc/fortran/trans.cc
gcc/fwprop.cc
gcc/gcc-plugin.h
gcc/gcc-rich-location.cc
gcc/gcc-urlifier.cc
gcc/gcc-urlifier.h
gcc/gcc.cc
gcc/gcov-dump.cc
gcc/gcov-tool.cc
gcc/gengtype.cc
gcc/genmatch.cc
gcc/gimple-fold.cc
gcc/gimple-harden-conditionals.cc
gcc/gimple-harden-control-flow.cc
gcc/gimple-if-to-switch.cc
gcc/gimple-lower-bitint.cc
gcc/gimple-predicate-analysis.cc
gcc/gimple-pretty-print.cc
gcc/gimple-range-cache.cc
gcc/gimple-range-edge.cc
gcc/gimple-range-fold.cc
gcc/gimple-range-gori.cc
gcc/gimple-range-infer.cc
gcc/gimple-range-op.cc
gcc/gimple-range-path.cc
gcc/gimple-range-phi.cc
gcc/gimple-range-trace.cc
gcc/gimple-range.cc
gcc/gimple-ssa-backprop.cc
gcc/gimple-ssa-sprintf.cc
gcc/gimple-ssa-store-merging.cc
gcc/gimple-ssa-strength-reduction.cc
gcc/gimple-ssa-warn-access.cc
gcc/gimple-ssa-warn-alloca.cc
gcc/gimple-ssa-warn-restrict.cc
gcc/gimple-streamer-in.cc
gcc/gimple-streamer-out.cc
gcc/gimple.cc
gcc/gimplify.cc
gcc/go/go-backend.cc
gcc/go/go-lang.cc
gcc/graph.cc
gcc/graphviz.cc
gcc/input.cc
gcc/ipa-cp.cc
gcc/ipa-devirt.cc
gcc/ipa-fnsummary.cc
gcc/ipa-free-lang-data.cc
gcc/ipa-icf-gimple.cc
gcc/ipa-icf.cc
gcc/ipa-inline-analysis.cc
gcc/ipa-inline.cc
gcc/ipa-modref-tree.cc
gcc/ipa-modref.cc
gcc/ipa-param-manipulation.cc
gcc/ipa-polymorphic-call.cc
gcc/ipa-predicate.cc
gcc/ipa-profile.cc
gcc/ipa-prop.cc
gcc/ipa-pure-const.cc
gcc/ipa-reference.cc
gcc/ipa-split.cc
gcc/ipa-sra.cc
gcc/ipa-strub.cc
gcc/ipa-utils.cc
gcc/jit/dummy-frontend.cc
gcc/jit/jit-playback.cc
gcc/jit/jit-recording.cc
gcc/langhooks.cc
gcc/late-combine.cc
gcc/lto-cgraph.cc
gcc/lto-compress.cc
gcc/lto-opts.cc
gcc/lto-section-in.cc
gcc/lto-section-out.cc
gcc/lto-streamer-in.cc
gcc/lto-streamer-out.cc
gcc/lto-streamer.cc
gcc/lto-wrapper.cc
gcc/lto/lto-common.cc
gcc/lto/lto-dump.cc
gcc/lto/lto-partition.cc
gcc/lto/lto-symtab.cc
gcc/lto/lto.cc
gcc/m2/gm2-gcc/gcc-consolidation.h
gcc/m2/gm2-gcc/m2configure.cc
gcc/m2/mc-boot/GASCII.cc
gcc/m2/mc-boot/GASCII.h
gcc/m2/mc-boot/GArgs.cc
gcc/m2/mc-boot/GArgs.h
gcc/m2/mc-boot/GAssertion.cc
gcc/m2/mc-boot/GAssertion.h
gcc/m2/mc-boot/GBreak.cc
gcc/m2/mc-boot/GBreak.h
gcc/m2/mc-boot/GCOROUTINES.h
gcc/m2/mc-boot/GCmdArgs.cc
gcc/m2/mc-boot/GCmdArgs.h
gcc/m2/mc-boot/GDebug.cc
gcc/m2/mc-boot/GDebug.h
gcc/m2/mc-boot/GDynamicStrings.cc
gcc/m2/mc-boot/GDynamicStrings.h
gcc/m2/mc-boot/GEnvironment.cc
gcc/m2/mc-boot/GEnvironment.h
gcc/m2/mc-boot/GFIO.cc
gcc/m2/mc-boot/GFIO.h
gcc/m2/mc-boot/GFormatStrings.cc
gcc/m2/mc-boot/GFormatStrings.h
gcc/m2/mc-boot/GFpuIO.cc
gcc/m2/mc-boot/GFpuIO.h
gcc/m2/mc-boot/GIO.cc
gcc/m2/mc-boot/GIO.h
gcc/m2/mc-boot/GIndexing.cc
gcc/m2/mc-boot/GIndexing.h
gcc/m2/mc-boot/GM2Dependent.cc
gcc/m2/mc-boot/GM2Dependent.h
gcc/m2/mc-boot/GM2EXCEPTION.cc
gcc/m2/mc-boot/GM2EXCEPTION.h
gcc/m2/mc-boot/GM2RTS.cc
gcc/m2/mc-boot/GM2RTS.h
gcc/m2/mc-boot/GMemUtils.cc
gcc/m2/mc-boot/GMemUtils.h
gcc/m2/mc-boot/GNumberIO.cc
gcc/m2/mc-boot/GNumberIO.h
gcc/m2/mc-boot/GPushBackInput.cc
gcc/m2/mc-boot/GPushBackInput.h
gcc/m2/mc-boot/GRTExceptions.cc
gcc/m2/mc-boot/GRTExceptions.h
gcc/m2/mc-boot/GRTco.h
gcc/m2/mc-boot/GRTentity.h
gcc/m2/mc-boot/GRTint.cc
gcc/m2/mc-boot/GRTint.h
gcc/m2/mc-boot/GSArgs.cc
gcc/m2/mc-boot/GSArgs.h
gcc/m2/mc-boot/GSFIO.cc
gcc/m2/mc-boot/GSFIO.h
gcc/m2/mc-boot/GSYSTEM.h
gcc/m2/mc-boot/GSelective.h
gcc/m2/mc-boot/GStdIO.cc
gcc/m2/mc-boot/GStdIO.h
gcc/m2/mc-boot/GStorage.cc
gcc/m2/mc-boot/GStorage.h
gcc/m2/mc-boot/GStrCase.cc
gcc/m2/mc-boot/GStrCase.h
gcc/m2/mc-boot/GStrIO.cc
gcc/m2/mc-boot/GStrIO.h
gcc/m2/mc-boot/GStrLib.cc
gcc/m2/mc-boot/GStrLib.h
gcc/m2/mc-boot/GStringConvert.cc
gcc/m2/mc-boot/GStringConvert.h
gcc/m2/mc-boot/GSysExceptions.h
gcc/m2/mc-boot/GSysStorage.cc
gcc/m2/mc-boot/GSysStorage.h
gcc/m2/mc-boot/GTimeString.cc
gcc/m2/mc-boot/GTimeString.h
gcc/m2/mc-boot/GUnixArgs.h
gcc/m2/mc-boot/Galists.cc
gcc/m2/mc-boot/Galists.h
gcc/m2/mc-boot/Gdecl.cc
gcc/m2/mc-boot/Gdecl.h
gcc/m2/mc-boot/Gdtoa.h
gcc/m2/mc-boot/Gerrno.h
gcc/m2/mc-boot/Gkeyc.cc
gcc/m2/mc-boot/Gkeyc.h
gcc/m2/mc-boot/Gldtoa.h
gcc/m2/mc-boot/Glibc.h
gcc/m2/mc-boot/Glibm.h
gcc/m2/mc-boot/Glists.cc
gcc/m2/mc-boot/Glists.h
gcc/m2/mc-boot/GmcComment.cc
gcc/m2/mc-boot/GmcComment.h
gcc/m2/mc-boot/GmcComp.cc
gcc/m2/mc-boot/GmcComp.h
gcc/m2/mc-boot/GmcDebug.cc
gcc/m2/mc-boot/GmcDebug.h
gcc/m2/mc-boot/GmcError.cc
gcc/m2/mc-boot/GmcError.h
gcc/m2/mc-boot/GmcFileName.cc
gcc/m2/mc-boot/GmcFileName.h
gcc/m2/mc-boot/GmcLexBuf.cc
gcc/m2/mc-boot/GmcLexBuf.h
gcc/m2/mc-boot/GmcMetaError.cc
gcc/m2/mc-boot/GmcMetaError.h
gcc/m2/mc-boot/GmcOptions.cc
gcc/m2/mc-boot/GmcOptions.h
gcc/m2/mc-boot/GmcPreprocess.cc
gcc/m2/mc-boot/GmcPreprocess.h
gcc/m2/mc-boot/GmcPretty.cc
gcc/m2/mc-boot/GmcPretty.h
gcc/m2/mc-boot/GmcPrintf.cc
gcc/m2/mc-boot/GmcPrintf.h
gcc/m2/mc-boot/GmcQuiet.cc
gcc/m2/mc-boot/GmcQuiet.h
gcc/m2/mc-boot/GmcReserved.cc
gcc/m2/mc-boot/GmcReserved.h
gcc/m2/mc-boot/GmcSearch.cc
gcc/m2/mc-boot/GmcSearch.h
gcc/m2/mc-boot/GmcStack.cc
gcc/m2/mc-boot/GmcStack.h
gcc/m2/mc-boot/GmcStream.cc
gcc/m2/mc-boot/GmcStream.h
gcc/m2/mc-boot/Gmcflex.h
gcc/m2/mc-boot/Gmcp1.cc
gcc/m2/mc-boot/Gmcp1.h
gcc/m2/mc-boot/Gmcp2.cc
gcc/m2/mc-boot/Gmcp2.h
gcc/m2/mc-boot/Gmcp3.cc
gcc/m2/mc-boot/Gmcp3.h
gcc/m2/mc-boot/Gmcp4.cc
gcc/m2/mc-boot/Gmcp4.h
gcc/m2/mc-boot/Gmcp5.cc
gcc/m2/mc-boot/Gmcp5.h
gcc/m2/mc-boot/GnameKey.cc
gcc/m2/mc-boot/GnameKey.h
gcc/m2/mc-boot/GsymbolKey.cc
gcc/m2/mc-boot/GsymbolKey.h
gcc/m2/mc-boot/Gtermios.h
gcc/m2/mc-boot/Gtop.cc
gcc/m2/mc-boot/Gvarargs.cc
gcc/m2/mc-boot/Gvarargs.h
gcc/m2/mc-boot/Gwlists.cc
gcc/m2/mc-boot/Gwlists.h
gcc/m2/mc-boot/Gwrapc.h
gcc/m2/mc/keyc.mod
gcc/m2/pge-boot/GASCII.cc
gcc/m2/pge-boot/GASCII.h
gcc/m2/pge-boot/GArgs.cc
gcc/m2/pge-boot/GArgs.h
gcc/m2/pge-boot/GAssertion.cc
gcc/m2/pge-boot/GAssertion.h
gcc/m2/pge-boot/GBreak.h
gcc/m2/pge-boot/GCmdArgs.h
gcc/m2/pge-boot/GDebug.cc
gcc/m2/pge-boot/GDebug.h
gcc/m2/pge-boot/GDynamicStrings.cc
gcc/m2/pge-boot/GDynamicStrings.h
gcc/m2/pge-boot/GEnvironment.h
gcc/m2/pge-boot/GFIO.cc
gcc/m2/pge-boot/GFIO.h
gcc/m2/pge-boot/GFormatStrings.h
gcc/m2/pge-boot/GFpuIO.h
gcc/m2/pge-boot/GIO.cc
gcc/m2/pge-boot/GIO.h
gcc/m2/pge-boot/GIndexing.cc
gcc/m2/pge-boot/GIndexing.h
gcc/m2/pge-boot/GLists.cc
gcc/m2/pge-boot/GLists.h
gcc/m2/pge-boot/GM2Dependent.cc
gcc/m2/pge-boot/GM2Dependent.h
gcc/m2/pge-boot/GM2EXCEPTION.cc
gcc/m2/pge-boot/GM2EXCEPTION.h
gcc/m2/pge-boot/GM2RTS.cc
gcc/m2/pge-boot/GM2RTS.h
gcc/m2/pge-boot/GNameKey.cc
gcc/m2/pge-boot/GNameKey.h
gcc/m2/pge-boot/GNumberIO.cc
gcc/m2/pge-boot/GNumberIO.h
gcc/m2/pge-boot/GOutput.cc
gcc/m2/pge-boot/GOutput.h
gcc/m2/pge-boot/GPushBackInput.cc
gcc/m2/pge-boot/GPushBackInput.h
gcc/m2/pge-boot/GRTExceptions.cc
gcc/m2/pge-boot/GRTExceptions.h
gcc/m2/pge-boot/GSArgs.h
gcc/m2/pge-boot/GSEnvironment.h
gcc/m2/pge-boot/GSFIO.cc
gcc/m2/pge-boot/GSFIO.h
gcc/m2/pge-boot/GSYSTEM.h
gcc/m2/pge-boot/GScan.h
gcc/m2/pge-boot/GStdIO.cc
gcc/m2/pge-boot/GStdIO.h
gcc/m2/pge-boot/GStorage.cc
gcc/m2/pge-boot/GStorage.h
gcc/m2/pge-boot/GStrCase.cc
gcc/m2/pge-boot/GStrCase.h
gcc/m2/pge-boot/GStrIO.cc
gcc/m2/pge-boot/GStrIO.h
gcc/m2/pge-boot/GStrLib.cc
gcc/m2/pge-boot/GStrLib.h
gcc/m2/pge-boot/GStringConvert.h
gcc/m2/pge-boot/GSymbolKey.cc
gcc/m2/pge-boot/GSymbolKey.h
gcc/m2/pge-boot/GSysExceptions.h
gcc/m2/pge-boot/GSysStorage.cc
gcc/m2/pge-boot/GSysStorage.h
gcc/m2/pge-boot/GTimeString.h
gcc/m2/pge-boot/GUnixArgs.h
gcc/m2/pge-boot/Gbnflex.cc
gcc/m2/pge-boot/Gbnflex.h
gcc/m2/pge-boot/Gdtoa.h
gcc/m2/pge-boot/Gerrno.h
gcc/m2/pge-boot/Gldtoa.h
gcc/m2/pge-boot/Glibc.h
gcc/m2/pge-boot/Glibm.h
gcc/m2/pge-boot/Gpge.cc
gcc/m2/pge-boot/Gtermios.h
gcc/m2/pge-boot/Gwrapc.h
gcc/multiple_target.cc
gcc/objc/objc-act.cc
gcc/objc/objc-encoding.cc
gcc/objc/objc-gnu-runtime-abi-01.cc
gcc/objc/objc-lang.cc
gcc/objc/objc-next-runtime-abi-01.cc
gcc/objc/objc-next-runtime-abi-02.cc
gcc/objc/objc-runtime-shared-support.cc
gcc/objcp/objcp-decl.cc
gcc/objcp/objcp-lang.cc
gcc/omp-expand.cc
gcc/omp-general.cc
gcc/omp-low.cc
gcc/omp-oacc-neuter-broadcast.cc
gcc/omp-offload.cc
gcc/omp-simd-clone.cc
gcc/optc-gen.awk
gcc/optc-save-gen.awk
gcc/options-urls-cc-gen.awk
gcc/opts-common.cc
gcc/opts-global.cc
gcc/opts.cc
gcc/pair-fusion.cc
gcc/passes.cc
gcc/pointer-query.cc
gcc/predict.cc
gcc/pretty-print.cc
gcc/pretty-print.h
gcc/print-rtl.cc
gcc/print-tree.cc
gcc/profile-count.cc
gcc/range-op-float.cc
gcc/range-op-ptr.cc
gcc/range-op.cc
gcc/range.cc
gcc/read-rtl-function.cc
gcc/rtl-error.cc
gcc/rtl-ssa/accesses.cc
gcc/rtl-ssa/blocks.cc
gcc/rtl-ssa/changes.cc
gcc/rtl-ssa/functions.cc
gcc/rtl-ssa/insns.cc
gcc/rtl-ssa/movement.cc
gcc/rtl-tests.cc
gcc/rust/resolve/rust-ast-resolve-expr.cc
gcc/rust/rust-attribs.cc
gcc/rust/rust-system.h
gcc/sanopt.cc
gcc/sched-rgn.cc
gcc/selftest-diagnostic-path.cc
gcc/selftest-diagnostic.cc
gcc/splay-tree-utils.cc
gcc/sreal.cc
gcc/stmt.cc
gcc/substring-locations.cc
gcc/symtab-clones.cc
gcc/symtab-thunks.cc
gcc/symtab.cc
gcc/testsuite/gcc.dg/plugin/diagnostic_group_plugin.c
gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_xhtml_format.c
gcc/testsuite/gcc.dg/plugin/ggcplug.c
gcc/text-art/box-drawing.cc
gcc/text-art/canvas.cc
gcc/text-art/ruler.cc
gcc/text-art/selftests.cc
gcc/text-art/theme.cc
gcc/toplev.cc
gcc/trans-mem.cc
gcc/tree-affine.cc
gcc/tree-call-cdce.cc
gcc/tree-cfg.cc
gcc/tree-chrec.cc
gcc/tree-dfa.cc
gcc/tree-diagnostic-client-data-hooks.cc
gcc/tree-diagnostic.cc
gcc/tree-dump.cc
gcc/tree-inline.cc
gcc/tree-into-ssa.cc
gcc/tree-logical-location.cc
gcc/tree-nested.cc
gcc/tree-nrv.cc
gcc/tree-object-size.cc
gcc/tree-outof-ssa.cc
gcc/tree-pretty-print.cc
gcc/tree-profile.cc
gcc/tree-scalar-evolution.cc
gcc/tree-sra.cc
gcc/tree-ssa-address.cc
gcc/tree-ssa-alias.cc
gcc/tree-ssa-ccp.cc
gcc/tree-ssa-coalesce.cc
gcc/tree-ssa-copy.cc
gcc/tree-ssa-dce.cc
gcc/tree-ssa-dom.cc
gcc/tree-ssa-forwprop.cc
gcc/tree-ssa-ifcombine.cc
gcc/tree-ssa-loop-ch.cc
gcc/tree-ssa-loop-im.cc
gcc/tree-ssa-loop-manip.cc
gcc/tree-ssa-loop-niter.cc
gcc/tree-ssa-loop-split.cc
gcc/tree-ssa-math-opts.cc
gcc/tree-ssa-operands.cc
gcc/tree-ssa-phiprop.cc
gcc/tree-ssa-pre.cc
gcc/tree-ssa-propagate.cc
gcc/tree-ssa-reassoc.cc
gcc/tree-ssa-sccvn.cc
gcc/tree-ssa-scopedtables.cc
gcc/tree-ssa-sink.cc
gcc/tree-ssa-strlen.cc
gcc/tree-ssa-structalias.cc
gcc/tree-ssa-ter.cc
gcc/tree-ssa-uninit.cc
gcc/tree-ssa.cc
gcc/tree-ssanames.cc
gcc/tree-stdarg.cc
gcc/tree-streamer-in.cc
gcc/tree-streamer-out.cc
gcc/tree-streamer.cc
gcc/tree-switch-conversion.cc
gcc/tree-tailcall.cc
gcc/tree-vrp.cc
gcc/tree.cc
gcc/ubsan.cc
gcc/value-pointer-equiv.cc
gcc/value-prof.cc
gcc/value-query.cc
gcc/value-range-pretty-print.cc
gcc/value-range-storage.cc
gcc/value-range.cc
gcc/value-relation.cc
gcc/var-tracking.cc
gcc/varpool.cc
gcc/vr-values.cc
gcc/wide-int-print.cc
libgcc/libgcov-util.c