GCC Middle and Back End API Reference
|
#include <type_traits>
Go to the source code of this file.
Functions | |
template<typename T, typename... Args> | |
std::enable_if<!std::is_array< T >::value, std::unique_ptr< T > >::type | make_unique (Args &&... args) |
|
inline |
Minimal implementation of make_unique for C++11 compatibility. Copyright (C) 2022-2025 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).
References T.
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::diagnostic_manager(), 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(), json_output_format::json_output_format(), 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_builder::sarif_builder(), sarif_code_flow::sarif_code_flow(), sarif_invocation::sarif_invocation(), sarif_builder::set_any_logical_locs_arr(), diagnostic_file::set_buffered_content(), starts_infinite_loop_p(), dump_pretty_printer::stash_item(), and infinite_loop::to_json().