Minimal implementation of make_unique for C++11 compatibility.
Copyright (C) 2022-2024 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Minimal implementation of make_unique for C++11 compatibility
(std::make_unique is C++14).
Referenced by diagnostic_execution_path::add_event_va(), diagnostic::add_execution_path(), infinite_loop_diagnostic::add_final_event(), infinite_recursion_diagnostic::add_final_event(), infinite_recursion_diagnostic::add_function_entry_event(), diagnostic::add_location_with_label(), sarif_invocation::add_notification_for_ice(), diagnostic::add_rule(), dump_context::begin_scope(), bt_callback(), ana::exploded_graph::detect_infinite_loops(), ana::exploded_graph::detect_infinite_recursion(), diagnostic_manager_add_sarif_sink(), diagnostic_output_format_init_json_file(), diagnostic_output_format_init_json_stderr(), diagnostic_output_format_init_sarif_file(), diagnostic_output_format_init_sarif_stderr(), diagnostic_output_format_init_sarif_stream(), diagnostic_text_sink::diagnostic_text_sink(), dump_pretty_printer::custom_token_printer::emit_any_pending_textual_chunks(), general_init(), sarif_code_flow::get_or_append_thread_flow(), diagnostic_context::initialize(), json_from_expanded_location(), json_from_fixit_hint(), json_from_location_range(), json_from_metadata(), sarif_location::lazily_add_relationship_object(), main(), sarif_builder::make_artifact_change_object(), sarif_builder::make_artifact_content_object(), sarif_builder::make_artifact_location_object(), sarif_builder::make_artifact_location_object_for_pwd(), sarif_builder::make_code_flow_object(), sarif_builder::make_driver_tool_component_object(), sarif_builder::make_fix_object(), make_item_for_dump_dec(), make_item_for_dump_generic_expr(), make_item_for_dump_gimple_expr(), make_item_for_dump_gimple_stmt(), make_item_for_dump_symtab_node(), timer::make_json(), timer::named_items::make_json(), timer::timevar_def::make_json(), make_json_for_path(), make_json_for_timevar_time_def(), sarif_builder::make_location_object(), sarif_builder::make_location_object(), sarif_builder::make_location_object(), sarif_builder::make_locations_arr(), sarif_builder::make_message_object(), sarif_builder::make_message_object_for_diagram(), sarif_builder::make_multiformat_message_string(), sarif_builder::make_region_object_for_hint(), sarif_builder::make_replacement_object(), sarif_builder::make_reporting_descriptor_object_for_cwe_id(), sarif_builder::make_reporting_descriptor_object_for_warning(), sarif_builder::make_reporting_descriptor_reference_object_for_cwe_id(), sarif_builder::make_result_object(), sarif_builder::make_run_object(), make_sarif_logical_location_object(), make_sarif_sink(), gcc::diagnostics_output_spec::text_scheme_handler::make_sink(), sarif_builder::make_stack_from_backtrace(), sarif_builder::make_tool_component_reference_object_for_cwe(), sarif_builder::make_tool_object(), sarif_builder::make_top_level_object(), sarif_builder::maybe_make_artifact_content_object(), sarif_builder::maybe_make_artifact_content_object(), sarif_builder::maybe_make_cwe_taxonomy_object(), sarif_builder::maybe_make_kinds_array(), sarif_builder::maybe_make_physical_location_object(), sarif_builder::maybe_make_region_object(), sarif_builder::maybe_make_region_object_for_context(), sarif_builder::maybe_make_taxonomies_array(), diagnostic_manager::new_logical_location(), sarif_result::on_diagram(), json_output_format::on_report_diagnostic(), gcc::diagnostics_output_spec::output_factory::output_factory(), sarif_artifact::populate_roles(), sarif_code_flow::sarif_code_flow(), sarif_invocation::sarif_invocation(), sarif_builder::set_any_logical_locs_arr(), sink::sink(), starts_infinite_loop_p(), dump_pretty_printer::stash_item(), and infinite_loop::to_json().