mirror of git://gcc.gnu.org/git/gcc.git
Daily bump.
This commit is contained in:
parent
0416ac5ae0
commit
1c0cbc1b30
|
|
@ -1,3 +1,7 @@
|
||||||
|
2025-04-28 Kwok Cheung Yeung <kcyeung@baylibre.com>
|
||||||
|
|
||||||
|
* MAINTAINERS (kcy): Add gcc.gnu.org username.
|
||||||
|
|
||||||
2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
PR cobol/119217
|
PR cobol/119217
|
||||||
|
|
|
||||||
293
gcc/ChangeLog
293
gcc/ChangeLog
|
|
@ -1,3 +1,296 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/97111
|
||||||
|
* doc/invoke.texi: Add -Wanalyzer-throw-of-unexpected-type.
|
||||||
|
* gimple.h (gimple_call_nothrow_p): Make arg const.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* diagnostic-format-json.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
* diagnostic-format-sarif.cc: Likewise.
|
||||||
|
* diagnostic-format-text.cc: Likewise.
|
||||||
|
* diagnostic.cc: Likewise.
|
||||||
|
* dumpfile.cc: Likewise.
|
||||||
|
* gcc-attribute-urlifier.cc: Likewise.
|
||||||
|
* gcc-urlifier.cc: Likewise.
|
||||||
|
* json-parsing.cc: Likewise.
|
||||||
|
* json.cc: Likewise.
|
||||||
|
* lazy-diagnostic-path.cc: Likewise.
|
||||||
|
* libgdiagnostics.cc: Likewise.
|
||||||
|
* libsarifreplay.cc: Likewise.
|
||||||
|
* lto-wrapper.cc: Likewise.
|
||||||
|
* make-unique.h: Delete.
|
||||||
|
* opts-diagnostic.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
* pretty-print.cc: Likewise.
|
||||||
|
* text-art/style.cc: Likewise.
|
||||||
|
* text-art/styled-string.cc: Likewise.
|
||||||
|
* text-art/table.cc: Likewise.
|
||||||
|
* text-art/tree-widget.cc: Likewise.
|
||||||
|
* text-art/widget.cc: Likewise.
|
||||||
|
* timevar.cc: Likewise.
|
||||||
|
* toplev.cc: Likewise.
|
||||||
|
* tree-diagnostic-client-data-hooks.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* pass_manager.h (class pass_manager): Add "m_" prefix to all pass
|
||||||
|
fields.
|
||||||
|
* passes.cc (pass_manager::execute_early_local_passes): Update
|
||||||
|
for added "m_" prefix.
|
||||||
|
(pass_manager::execute_pass_mode_switching): Likewise.
|
||||||
|
(pass_manager::finish_optimization_passes): Likewise.
|
||||||
|
(pass_manager::pass_manager): Likewise.
|
||||||
|
(pass_manager::dump_profile_report): Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* diagnostic.h (diagnostic_context::m_opt_permissive): Convert
|
||||||
|
from int to diagnostic_option_id. Update comment.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* diagnostic.h (diagnostic_context::set_abort_on_error): New.
|
||||||
|
(diagnostic_context::m_abort_on_error): Make private.
|
||||||
|
(diagnostic_abort_on_error): Delete.
|
||||||
|
* opts.cc (setup_core_dumping): Update for above changes.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* diagnostic-format-sarif.cc (sarif_builder::get_opts): New
|
||||||
|
accessor.
|
||||||
|
(sarif_builder::get_version): Update for...
|
||||||
|
(sarif_builder::m_version): Replace this field...
|
||||||
|
(sarif_builder::m_m_sarif_gen_opts): ...with this.
|
||||||
|
(sarif_builder::sarif_builder): Replace version with
|
||||||
|
sarif_gen_opts throughout.
|
||||||
|
(sarif_builder::make_top_level_object): Use get_version.
|
||||||
|
(sarif_output_format::sarif_output_format): Replace version with
|
||||||
|
sarif_gen_opts throughout.
|
||||||
|
(sarif_stream_output_format::sarif_stream_output_format):
|
||||||
|
Likewise.
|
||||||
|
(sarif_file_output_format::sarif_file_output_format): Likewise.
|
||||||
|
(diagnostic_output_format_init_sarif_stderr): Drop version param
|
||||||
|
and use default for sarif_generation_options instead.
|
||||||
|
(diagnostic_output_format_init_sarif_file): Likewise.
|
||||||
|
(diagnostic_output_format_init_sarif_stream): Likewise.
|
||||||
|
(make_sarif_sink): Replace version with sarif_gen_opts throughout.
|
||||||
|
(sarif_generation_options::sarif_generation_options): New.
|
||||||
|
(selftest::test_sarif_diagnostic_context::test_sarif_diagnostic_context):
|
||||||
|
Replace version with sarif_gen_opts throughout.
|
||||||
|
(selftest::test_make_location_object): Likewise.
|
||||||
|
(selftest::test_simple_log): Likewise.
|
||||||
|
(selftest::test_simple_log_2): Likewise.
|
||||||
|
(selftest::test_message_with_embedded_link): Likewise.
|
||||||
|
(selftest::test_message_with_braces): Likewise.
|
||||||
|
(selftest::test_buffering): Likewise.
|
||||||
|
(selftest::run_tests_per_version): Replace with...
|
||||||
|
(selftest::for_each_sarif_gen_option): ...this...
|
||||||
|
(selftest::run_line_table_case_tests_per_version): ...and this.
|
||||||
|
(selftest::diagnostic_format_sarif_cc_tests): Update to use
|
||||||
|
for_each_sarif_gen_option and
|
||||||
|
run_line_table_case_tests_per_version.
|
||||||
|
* diagnostic-format-sarif.h (enum class sarif_version): Move lower
|
||||||
|
down.
|
||||||
|
(diagnostic_output_format_init_sarif_stderr): Drop "version"
|
||||||
|
param.
|
||||||
|
(diagnostic_output_format_init_sarif_file): Likewise.
|
||||||
|
(diagnostic_output_format_init_sarif_stream): Likewise.
|
||||||
|
(struct sarif_generation_options): New.
|
||||||
|
(make_sarif_sink): Add "formatted" param. Replace version param
|
||||||
|
with sarif_gen_opts.
|
||||||
|
* diagnostic.cc (diagnostic_output_format_init): Drop hardcoded
|
||||||
|
sarif_version::v2_1_0 arguments from calls, which instead use
|
||||||
|
the default ctor for sarif_generation_options internally.
|
||||||
|
* libgdiagnostics.cc (sarif_sink::sarif_sink): Replace version
|
||||||
|
param with sarif_gen_opts, and update for changes to
|
||||||
|
make_sarif_sink.
|
||||||
|
(diagnostic_manager_add_sarif_sink): Use sarif_gen_opts rather
|
||||||
|
than version.
|
||||||
|
* opts-diagnostic.cc (sarif_scheme_handler::make_sink): Likewise.
|
||||||
|
Pass "true" for "formatted" param.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
* value-relation.cc (value_relation::swap): New.
|
||||||
|
(value_relation::negate): Remove.
|
||||||
|
(dom_oracle::next_relation): New.
|
||||||
|
(block_relation_iterator::block_relation_iterator): New.
|
||||||
|
(block_relation_iterator::get_next_relation): New.
|
||||||
|
(dom_oracle::dump): Use iterator.
|
||||||
|
* value-relation.h (relation_oracle::next_relation): New.
|
||||||
|
(dom_oracle::next_relation): New prototype.
|
||||||
|
(class block_relation_iterator): New.
|
||||||
|
(FOR_EACH_RELATION_BB): New.
|
||||||
|
(FOR_EACH_RELATION_NAME): New.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
* range-op-ptr.cc (range_operator::lhs_op1_relation): Add
|
||||||
|
prange/prange/irange (PPI) default.
|
||||||
|
(pointer_plus_operator::lhs_op1_relation): New.
|
||||||
|
* range-op.cc (range_op_handler::lhs_op1_relation): Add RO_PPI case.
|
||||||
|
* range-op.h (range_op_handler::lhs_op1_relation): Add prototype.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
* gimple-range-fold.cc (fold_using_range::range_of_range_op): Use a
|
||||||
|
new local variable for intermediate relation results.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
* gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): Pass
|
||||||
|
'this' as the range-query to the inferred range constructor.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/95801
|
||||||
|
* range-op.cc (operator_div::op2_range): New.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/119712
|
||||||
|
* value-range.cc (range_bitmask::adjust_range): Delete.
|
||||||
|
(irange::set_range_from_bitmask): Integrate adjust_range.
|
||||||
|
(irange::update_bitmask): Do nothing if bitmask doesnt change.
|
||||||
|
(irange:intersect_bitmask): Do not call adjust_range. Exit if there
|
||||||
|
is no second bitmask.
|
||||||
|
* value-range.h (adjust_range): Remove prototype.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR tree-optimization/67797
|
||||||
|
* tree-tailcall.cc (find_tail_calls): Add support for ERF_RETURNS_ARG.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
* tree-cfg.cc (verify_gimple_cond): Error out if the comparison
|
||||||
|
throws.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR c/119432
|
||||||
|
* tree-pretty-print.cc (op_symbol_code): For LROTATE_EXPR,
|
||||||
|
output __ROTATE_LEFT for gimple.
|
||||||
|
For RROTATE_EXPR output __ROTATE_RIGHT for gimple.
|
||||||
|
|
||||||
|
2025-04-28 Richard Sandiford <richard.sandiford@arm.com>
|
||||||
|
|
||||||
|
* rtl.h (native_decode_int): Declare.
|
||||||
|
* simplify-rtx.cc (native_decode_int): New function, split out from...
|
||||||
|
(native_decode_rtx): ...here.
|
||||||
|
|
||||||
|
2025-04-28 H.J. Lu <hjl.tools@gmail.com>
|
||||||
|
Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR target/109780
|
||||||
|
PR target/109093
|
||||||
|
* config/i386/i386.cc (stack_access_data): New.
|
||||||
|
(ix86_update_stack_alignment): Likewise.
|
||||||
|
(ix86_find_all_reg_use_1): Likewise.
|
||||||
|
(ix86_find_all_reg_use): Likewise.
|
||||||
|
(ix86_find_max_used_stack_alignment): Also check memory accesses
|
||||||
|
from registers defined by stack or frame registers.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR ipa/119973
|
||||||
|
* tree-ssa-structalias.cc (create_variable_info_for):
|
||||||
|
Build constraints from DECL_INITIAL directly rather than
|
||||||
|
the IPA reference list which is incomplete.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR lto/113207
|
||||||
|
* ipa-free-lang-data.cc (fld_type_variant): Add extra checking.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/119044
|
||||||
|
* tree-predcom.cc (ref_at_iteration): Copy alias info
|
||||||
|
from the original ref.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/119103
|
||||||
|
* tree-ssa-loop-im.cc (in_loop_pipeline): Globalize.
|
||||||
|
(compute_invariantness): Override costing when we run
|
||||||
|
right before PRE and PRE is enabled.
|
||||||
|
(pass_lim::execute): Adjust.
|
||||||
|
* tree-vect-patterns.cc (vect_determine_precisions_from_users):
|
||||||
|
For variable shift amounts use range information.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* genmatch.cc (::gen_transform): Add in_place parameter.
|
||||||
|
Assert it isn't set in unexpected places.
|
||||||
|
(possible_noop_convert): New.
|
||||||
|
(expr::gen_transform): Support in_place and emit code to
|
||||||
|
compute a child in-place when the operation is a conversion.
|
||||||
|
(dt_simplify::gen_1): Arrange for an outermost conversion
|
||||||
|
to be elided by generating the transform of the operand
|
||||||
|
in-place.
|
||||||
|
* match.pd (__real cepxi (x) -> cos (x)): Use single_use.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/60779
|
||||||
|
* common.opt (fcx-method=): New, map to flag_complex_method.
|
||||||
|
(Enum complex_method): New.
|
||||||
|
(fcx-limited-range): Alias to -fcx-method=limited-range.
|
||||||
|
(fcx-fortran-rules): Alias to -fcx-medhot=fortran.
|
||||||
|
* ipa-inline-transform.cc (inline_call): Check flag_complex_method.
|
||||||
|
* ipa-inline.cc (can_inline_edge_by_limits_p): Likewise.
|
||||||
|
* opts.cc (finish_options): Adjust.
|
||||||
|
(set_fast_math_flags): Likewise.
|
||||||
|
* doc/invoke.texi (fcx-method=): Document.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/116083
|
||||||
|
* stor-layout.cc (layout_type): Compute TYPE_SIZE and
|
||||||
|
TYPE_SIZE_UNIT for vector types from the component mode
|
||||||
|
sizes.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* tree-vect-loop.cc (vect_analyze_loop_operations): Prune
|
||||||
|
all actual analysis and only fail when we discover a not
|
||||||
|
SLP covered stmt.
|
||||||
|
(vect_analyze_loop_2): Remove path trying without SLP.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* tree-vect-loop.cc (vect_loop_kill_debug_uses): Remove.
|
||||||
|
(maybe_set_vectorized_backedge_value): Likewise.
|
||||||
|
(vect_transform_loop_stmt): Likewise. Move dump printing
|
||||||
|
to vect_transform_stmt.
|
||||||
|
(vect_transform_loop): Remove loop over loop stmts transforming
|
||||||
|
them, but retain some DCE code still necessary.
|
||||||
|
* tree-vect-stmts.cc (vect_transform_stmt): Dump that
|
||||||
|
we're vectorizing a stmt.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* params.opt (--param=vect-force-slp): Remove.
|
||||||
|
* doc/invoke.texi (--param=vect-force-slp): Likewise.
|
||||||
|
* tree-vect-loop.cc (vect_analyze_loop_2): Assume
|
||||||
|
param_vect_force_slp is 1.
|
||||||
|
* tree-vect-stmts.cc (vect_analyze_stmt): Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/119493
|
||||||
|
* tree-tailcall.cc (find_tail_calls): Handle non-gimple_reg_type
|
||||||
|
arguments which aren't just passed through for tail recursions
|
||||||
|
even for non-musttail calls.
|
||||||
|
|
||||||
|
2025-04-28 LIU Hao <lh_mouse@126.com>
|
||||||
|
|
||||||
|
PR target/111107
|
||||||
|
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Copy from sol2.h.
|
||||||
|
|
||||||
2025-04-27 H.J. Lu <hjl.tools@gmail.com>
|
2025-04-27 H.J. Lu <hjl.tools@gmail.com>
|
||||||
|
|
||||||
PR c/48274
|
PR c/48274
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
20250428
|
20250429
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,422 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/111536
|
||||||
|
* engine.cc (maybe_update_for_edge): Update for new call_stmt
|
||||||
|
param to region_model::push_frame.
|
||||||
|
* program-state.cc (program_state::push_frame): Likewise.
|
||||||
|
* region-model.cc (region_model::update_for_gcall): Likewise.
|
||||||
|
(region_model::push_frame): Add "call_stmt" param.
|
||||||
|
Handle DECL_RESULT with DECL_BY_REFERENCE set on it by stashing
|
||||||
|
the region of the lhs of the call_stmt in the caller frame,
|
||||||
|
and writing a reference to it within the "result" in the callee
|
||||||
|
frame.
|
||||||
|
(region_model::pop_frame): Don't write back to the LHS for
|
||||||
|
DECL_BY_REFERENCE results.
|
||||||
|
(selftest::test_stack_frames): Update for new call_stmt param to
|
||||||
|
region_model::push_frame.
|
||||||
|
(selftest::test_get_representative_path_var): Likewise.
|
||||||
|
(selftest::test_state_merging): Likewise.
|
||||||
|
(selftest::test_alloca): Likewise.
|
||||||
|
* region-model.h (region_model::push_frame): Add "call_stmt"
|
||||||
|
param.
|
||||||
|
* region.cc: Include "tree-ssa.h".
|
||||||
|
(region::can_have_initial_svalue_p): Use ssa_defined_default_def_p
|
||||||
|
for ssa names, rather than special-casing it for just parameters.
|
||||||
|
This should now also cover DECL_RESULT with DECL_BY_REFERENCE and
|
||||||
|
hard registers.
|
||||||
|
* sm-signal.cc (update_model_for_signal_handler): Update for new
|
||||||
|
call_stmt param to region_model::push_frame.
|
||||||
|
* state-purge.cc (state_purge_per_decl::process_worklists):
|
||||||
|
Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/109366
|
||||||
|
* region-model-manager.cc
|
||||||
|
(region_model_manager::maybe_fold_sub_svalue): Sub-values of zero
|
||||||
|
constants are zero.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/97111
|
||||||
|
* analyzer.cc (is_cxa_throw_p): New.
|
||||||
|
(is_cxa_rethrow_p): New.
|
||||||
|
* analyzer.opt (Wanalyzer-throw-of-unexpected-type): New.
|
||||||
|
* analyzer.opt.urls: Regenerate.
|
||||||
|
* call-info.cc (custom_edge_info::create_enode): New.
|
||||||
|
* call-info.h (call_info::print): Drop "final".
|
||||||
|
(call_info::add_events_to_path): Likewise.
|
||||||
|
* checker-event.cc (event_kind_to_string): Add cases for
|
||||||
|
event_kind::catch_, event_kind::throw_, and event_kind::unwind.
|
||||||
|
(explicit_throw_event::print_desc): New.
|
||||||
|
(throw_from_call_to_external_fn_event::print_desc): New.
|
||||||
|
(unwind_event::print_desc): New.
|
||||||
|
* checker-event.h (enum class event_kind): Add catch_, throw_,
|
||||||
|
and unwind.
|
||||||
|
(class catch_cfg_edge_event): New.
|
||||||
|
(class throw_event): New.
|
||||||
|
(class explicit_throw_event): New.
|
||||||
|
(class throw_from_call_to_external_fn_event): New.
|
||||||
|
(class unwind_event): New.
|
||||||
|
* common.h (class eh_dispatch_cfg_superedge): New forward decl.
|
||||||
|
(class eh_dispatch_try_cfg_superedge): New forward decl.
|
||||||
|
(class eh_dispatch_allowed_cfg_superedge): New forward decl.
|
||||||
|
(custom_edge_info::create_enode): New vfunc decl.
|
||||||
|
(is_cxa_throw_p): New decl.
|
||||||
|
(is_cxa_rethrow_p): New decl.
|
||||||
|
* diagnostic-manager.cc
|
||||||
|
(diagnostic_manager::add_events_for_superedge): Special-case edges
|
||||||
|
for eh_dispach_try.
|
||||||
|
(diagnostic_manager::prune_path): Call consolidate_unwind_events.
|
||||||
|
(diagnostic_manager::prune_for_sm_diagnostic): Don't filter the new
|
||||||
|
event_kinds.
|
||||||
|
(diagnostic_manager::consolidate_unwind_events): New.
|
||||||
|
* diagnostic-manager.h
|
||||||
|
(diagnostic_manager::consolidate_unwind_events): New decl.
|
||||||
|
* engine.cc (exploded_node::on_stmt_pre): Handle "__cxa_throw",
|
||||||
|
"__cxa_rethrow", and resx statements.
|
||||||
|
(class throw_custom_edge): New.
|
||||||
|
(class unwind_custom_edge): New.
|
||||||
|
(get_eh_outedge): New.
|
||||||
|
(exploded_graph::unwind_from_exception): New.
|
||||||
|
(exploded_node::on_throw): New.
|
||||||
|
(exploded_node::on_resx): New.
|
||||||
|
(exploded_graph::get_or_create_node): Add "add_to_worklist" param
|
||||||
|
and use it.
|
||||||
|
(exploded_graph::process_node): Use edge_info's create_enode vfunc
|
||||||
|
to create enodes, rather than calling get_or_create_node directly.
|
||||||
|
Ignore CFG edges in the sgraph flagged with EH whilst we're
|
||||||
|
exploring the egraph.
|
||||||
|
(exploded_graph_annotator::print_enode): Handle case
|
||||||
|
exploded_node::status::special.
|
||||||
|
* exploded-graph.h (exploded_node::status): Add value "special".
|
||||||
|
(exploded_node::on_throw): New decl.
|
||||||
|
(exploded_node::on_resx): New decl.
|
||||||
|
(exploded_graph::get_or_create_node): Add optional
|
||||||
|
"add_to_worklist" param.
|
||||||
|
(exploded_graph::unwind_from_exception): New decl.
|
||||||
|
* kf-lang-cp.cc (class kf_cxa_allocate_exception): New.
|
||||||
|
(class kf_cxa_begin_catch): New.
|
||||||
|
(class kf_cxa_end_catch): New.
|
||||||
|
(class throw_of_unexpected_type): New.
|
||||||
|
(class kf_cxa_call_unexpected): New.
|
||||||
|
(register_known_functions_lang_cp): Register known functions
|
||||||
|
"__cxa_allocate_exception", "__cxa_begin_catch",
|
||||||
|
"__cxa_end_catch", and "__cxa_call_unexpected".
|
||||||
|
* kf.cc (class kf_eh_pointer): New.
|
||||||
|
(register_known_functions): Register it for BUILT_IN_EH_POINTER.
|
||||||
|
* region-model.cc: Include "analyzer/function-set.h".
|
||||||
|
(exception_node::operator==): New.
|
||||||
|
(exception_node::dump_to_pp): New.
|
||||||
|
(exception_node::dump): New.
|
||||||
|
(exception_node::to_json): New.
|
||||||
|
(exception_node::make_dump_widget): New.
|
||||||
|
(exception_node::maybe_get_type): New.
|
||||||
|
(exception_node::add_to_reachable_regions): New.
|
||||||
|
(region_model::region_model): Initialize
|
||||||
|
m_thrown_exceptions_stack and m_caught_exceptions_stack.
|
||||||
|
(region_model::operator=): Likewise.
|
||||||
|
(region_model::operator==): Compare them.
|
||||||
|
(region_model::dump_to_pp): Dump exception stacks.
|
||||||
|
(region_model::to_json): Add exception stacks.
|
||||||
|
(region_model::make_dump_widget): Likewise.
|
||||||
|
(class exception_thrown_from_unrecognized_call): New.
|
||||||
|
(get_fns_assumed_not_to_throw): New.
|
||||||
|
(can_throw_p): New.
|
||||||
|
(region_model::check_for_throw_inside_call): New.
|
||||||
|
(region_model::on_call_pre): Call check_for_throw_inside_call
|
||||||
|
on unknown fns or those we don't have a body for.
|
||||||
|
(region_model::maybe_update_for_edge): Handle eh_dispatch_stmt
|
||||||
|
statements. Drop old code that called
|
||||||
|
apply_constraints_for_exception on EDGE_EH edges.
|
||||||
|
(class rejected_eh_dispatch): New.
|
||||||
|
(exception_matches_type_p): New.
|
||||||
|
(matches_any_exception_type_p): New.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch): New.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch_try): New.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch_allowed): New.
|
||||||
|
(region_model::apply_constraints_for_exception): Delete.
|
||||||
|
(region_model::can_merge_with_p): Don't merge models with
|
||||||
|
non-equal exception stacks.
|
||||||
|
(region_model::get_referenced_base_regions): Add regions from
|
||||||
|
exception stacks.
|
||||||
|
* region-model.h (struct exception_node): New.
|
||||||
|
(region_model::push_thrown_exception): New.
|
||||||
|
(region_model::get_current_thrown_exception): New.
|
||||||
|
(region_model::pop_thrown_exception): New.
|
||||||
|
(region_model::push_caught_exception): New.
|
||||||
|
(region_model::get_current_caught_exception): New.
|
||||||
|
(region_model::pop_caught_exception): New.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch_try): New decl.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch_allowed) New decl.
|
||||||
|
(region_model::apply_constraints_for_exception): Delete.
|
||||||
|
(region_model::apply_constraints_for_eh_dispatch): New decl.
|
||||||
|
(region_model::check_for_throw_inside_call): New decl.
|
||||||
|
(region_model::m_thrown_exceptions_stack): New field.
|
||||||
|
(region_model::m_caught_exceptions_stack): New field.
|
||||||
|
* supergraph.cc: Include "except.h" and "analyzer/region-model.h".
|
||||||
|
(supergraph::add_cfg_edge): Special-case eh_dispatch edges.
|
||||||
|
(superedge::get_description): Use default_tree_printer.
|
||||||
|
(get_catch): New.
|
||||||
|
(eh_dispatch_cfg_superedge::make): New.
|
||||||
|
(eh_dispatch_cfg_superedge::eh_dispatch_cfg_superedge): New.
|
||||||
|
(eh_dispatch_cfg_superedge::get_eh_status): New.
|
||||||
|
(eh_dispatch_try_cfg_superedge::dump_label_to_pp): New.
|
||||||
|
(eh_dispatch_try_cfg_superedge::apply_constraints): New.
|
||||||
|
(eh_dispatch_allowed_cfg_superedge::eh_dispatch_allowed_cfg_superedge):
|
||||||
|
New.
|
||||||
|
(eh_dispatch_allowed_cfg_superedge::dump_label_to_pp): New.
|
||||||
|
(eh_dispatch_allowed_cfg_superedge::apply_constraints): New.
|
||||||
|
* supergraph.h: Include "except.h".
|
||||||
|
(superedge::dyn_cast_eh_dispatch_cfg_superedge): New vfunc.
|
||||||
|
(superedge::dyn_cast_eh_dispatch_try_cfg_superedge): New vfunc.
|
||||||
|
(superedge::dyn_cast_eh_dispatch_allowed_cfg_superedge): New
|
||||||
|
vfunc.
|
||||||
|
(class eh_dispatch_cfg_superedge): New.
|
||||||
|
(is_a_helper <const eh_dispatch_cfg_superedge *>::test): New.
|
||||||
|
(class eh_dispatch_try_cfg_superedge): New.
|
||||||
|
(is_a_helper <const eh_dispatch_try_cfg_superedge *>::test): New.
|
||||||
|
(class eh_dispatch_allowed_cfg_superedge): New.
|
||||||
|
(is_a_helper <const eh_dispatch_allowed_cfg_superedge *>::test):
|
||||||
|
New.
|
||||||
|
* svalue.cc (svalue::maybe_get_type_from_typeinfo): New.
|
||||||
|
* svalue.h (svalue::maybe_get_type_from_typeinfo): New decl.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* access-diagram.cc: Replace uses of ::make_unique with
|
||||||
|
std::make_unique.
|
||||||
|
* analyzer.cc: Likewise.
|
||||||
|
* bounds-checking.cc: Likewise.
|
||||||
|
* call-details.cc: Likewise.
|
||||||
|
* call-info.cc: Likewise.
|
||||||
|
* call-string.cc: Likewise.
|
||||||
|
* checker-path.cc: Likewise.
|
||||||
|
* common.h: Drop include of "make-unique.h".
|
||||||
|
* constraint-manager.cc: Replace uses of ::make_unique with
|
||||||
|
std::make_unique.
|
||||||
|
* diagnostic-manager.cc: Likewise.
|
||||||
|
* engine.cc: Likewise.
|
||||||
|
* infinite-loop.cc: Likewise.
|
||||||
|
* infinite-recursion.cc: Likewise.
|
||||||
|
* kf-analyzer.cc: Likewise.
|
||||||
|
* kf-lang-cp.cc: Likewise.
|
||||||
|
* kf.cc: Likewise.
|
||||||
|
* pending-diagnostic.cc: Likewise.
|
||||||
|
* program-point.cc: Likewise; drop #include.
|
||||||
|
* program-state.cc: Likewise.
|
||||||
|
* ranges.cc: Likewise.
|
||||||
|
* region-model.cc: Likewise.
|
||||||
|
* region.cc: Likewise; drop #include.
|
||||||
|
* sm-fd.cc: Likewise.
|
||||||
|
* sm-file.cc: Likewise.
|
||||||
|
* sm-malloc.cc: Likewise.
|
||||||
|
* sm-pattern-test.cc: Likewise.
|
||||||
|
* sm-sensitive.cc: Likewise.
|
||||||
|
* sm-signal.cc: Likewise.
|
||||||
|
* sm-taint.cc: Likewise.
|
||||||
|
* sm.cc: Likewise.
|
||||||
|
* store.cc: Likewise.
|
||||||
|
* supergraph.cc: Likewise.
|
||||||
|
* svalue.cc: Likewise; drop #include.
|
||||||
|
* varargs.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* engine.cc (class plugin_analyzer_init_impl): Convert
|
||||||
|
"m_checkers" to use std::vector of std::unique_ptr. Convert
|
||||||
|
"m_known_fn_mgr" to a reference.
|
||||||
|
(impl_run_checkers): Convert "checkers" to use std::vector of
|
||||||
|
std::unique_ptr and move it into the extrinsic_state.
|
||||||
|
* program-state.cc (extrinsic_state::dump_to_pp): Update for
|
||||||
|
changes to m_checkers.
|
||||||
|
(extrinsic_state::to_json): Likewise.
|
||||||
|
(extrinsic_state::get_sm_idx_by_name): Likewise.
|
||||||
|
(selftest::test_sm_state_map): Update to use std::unique_ptr
|
||||||
|
for state machines.
|
||||||
|
(selftest::test_program_state_1): Likewise.
|
||||||
|
(selftest::test_program_state_2): Likewise.
|
||||||
|
(selftest::test_program_state_merging): Likewise.
|
||||||
|
(selftest::test_program_state_merging_2): Likewise.
|
||||||
|
* program-state.h (class extrinsic_state): Convert "m_checkers" to
|
||||||
|
use std::vector of std::unique_ptr and to be owned by this object,
|
||||||
|
rather than a reference. Add ctor for use in selftests.
|
||||||
|
* sm-fd.cc (make_fd_state_machine): Update to use std::unique_ptr.
|
||||||
|
* sm-file.cc (make_fileptr_state_machine): Likewise.
|
||||||
|
* sm-malloc.cc (make_malloc_state_machine): Likewise.
|
||||||
|
* sm-pattern-test.cc (make_pattern_test_state_machine): Likewise.
|
||||||
|
* sm-sensitive.cc (make_sensitive_state_machine): Likewise.
|
||||||
|
* sm-signal.cc (make_signal_state_machine): Likewise.
|
||||||
|
* sm-taint.cc (make_taint_state_machine): Likewise.
|
||||||
|
* sm.cc: Define INCLUDE_LIST.
|
||||||
|
(make_checkers): Return the vector directly, rather than pass it
|
||||||
|
in by reference. Update to use std::unique_ptr throughout. Use
|
||||||
|
an intermediate list, and use that to filter with
|
||||||
|
flag_analyzer_checker, fixing memory leak for this case.
|
||||||
|
* sm.h: (make_checkers): Return the vector directly, rather than
|
||||||
|
pass it in by reference, and use std::vector of std::unique_ptr.
|
||||||
|
(make_malloc_state_machine): Convert return type to use std::unique_ptr.
|
||||||
|
(make_fileptr_state_machine): Likewise.
|
||||||
|
(make_taint_state_machine): Likewise.
|
||||||
|
(make_sensitive_state_machine): Likewise.
|
||||||
|
(make_signal_state_machine): Likewise.
|
||||||
|
(make_pattern_test_state_machine): Likewise.
|
||||||
|
(make_va_list_state_machine): Likewise.
|
||||||
|
(make_fd_state_machine): Likewise.
|
||||||
|
* varargs.cc (make_va_list_state_machine): Update to use
|
||||||
|
std::unique_ptr.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* call-summary.cc (call_summary_replay::call_summary_replay):
|
||||||
|
Convert "summary" from call_summary * to call_summary &.
|
||||||
|
(call_summary_replay::dump_to_pp): Likewise for m_summary.
|
||||||
|
* call-summary.h (call_summary_replay::call_summary_replay):
|
||||||
|
Likewise for "summary".
|
||||||
|
(call_summary_replay::m_summary): Likewise.
|
||||||
|
* engine.cc (call_summary_edge_info::call_summary_edge_info):
|
||||||
|
Likewise.
|
||||||
|
(call_summary_edge_info::update_state): Likewise.
|
||||||
|
(call_summary_edge_info::update_model): Likewise.
|
||||||
|
(call_summary_edge_info::print_desc): Likewise for m_summary.
|
||||||
|
(call_summary_edge_info::m_summary): Likewise.
|
||||||
|
(exploded_node::replay_call_summaries): Update for change to
|
||||||
|
replay_call_summary.
|
||||||
|
(exploded_node::replay_call_summary): Convert "summary" from
|
||||||
|
call_summary * to call_summary &.
|
||||||
|
* exploded-graph.h (exploded_node::replay_call_summary): Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* analyzer.cc: Convert gcall * to gcall & where we know the
|
||||||
|
pointer must be non-null.
|
||||||
|
* call-details.cc: Likewise.
|
||||||
|
* call-details.h: Likewise.
|
||||||
|
* call-info.cc: Likewise.
|
||||||
|
* call-info.h: Likewise.
|
||||||
|
* call-summary.h: Likewise.
|
||||||
|
* checker-event.cc: Likewise.
|
||||||
|
* checker-event.h: Likewise.
|
||||||
|
* common.h: Likewise.
|
||||||
|
* diagnostic-manager.cc: Likewise.
|
||||||
|
* engine.cc: Likewise.
|
||||||
|
* exploded-graph.h: Likewise.
|
||||||
|
* kf-analyzer.cc: Likewise.
|
||||||
|
* kf-lang-cp.cc: Likewise.
|
||||||
|
* kf.cc: Likewise.
|
||||||
|
* known-function-manager.cc: Likewise.
|
||||||
|
* program-state.cc: Likewise.
|
||||||
|
* program-state.h: Likewise.
|
||||||
|
* region-model.cc: Likewise.
|
||||||
|
* region-model.h: Likewise.
|
||||||
|
* sm-fd.cc: Likewise.
|
||||||
|
* sm-file.cc: Likewise.
|
||||||
|
* sm-malloc.cc: Likewise.
|
||||||
|
* sm-sensitive.cc: Likewise.
|
||||||
|
* sm-signal.cc: Likewise.
|
||||||
|
* sm-taint.cc: Likewise.
|
||||||
|
* sm.h: Likewise.
|
||||||
|
* store.cc: Likewise.
|
||||||
|
* store.h: Likewise.
|
||||||
|
* supergraph.cc: Likewise.
|
||||||
|
* supergraph.h: Likewise.
|
||||||
|
* svalue.h: Likewise.
|
||||||
|
* varargs.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* access-diagram.cc: Convert enum access_direction to
|
||||||
|
"enum class".
|
||||||
|
* bounds-checking.cc: Likewise.
|
||||||
|
* checker-event.cc: Convert enum event_kind to "enum class".
|
||||||
|
* checker-event.h: Likewise.
|
||||||
|
* checker-path.cc: Likewise.
|
||||||
|
* common.h: Convert enum access_direction to "enum class".
|
||||||
|
* constraint-manager.cc: Convert enum bound_kind to "enum class".
|
||||||
|
* constraint-manager.h: Likewise.
|
||||||
|
* diagnostic-manager.cc: Convert enum event_kind to "enum class".
|
||||||
|
* engine.cc: Convert enum status to "enum class".
|
||||||
|
* exploded-graph.h: Likewise.
|
||||||
|
* infinite-loop.cc: Likewise.
|
||||||
|
* kf-lang-cp.cc: Convert enum poison_kind to "enum class".
|
||||||
|
* kf.cc: Likewise.
|
||||||
|
* region-model-manager.cc: Likewise.
|
||||||
|
* region-model.cc: Likewise; also for enum access_direction.
|
||||||
|
* svalue.cc: Likewise.
|
||||||
|
* svalue.h: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* analyzer.h: Rename to...
|
||||||
|
* common.h: ...this. Add define of INCLUDE_VECTOR, includes of
|
||||||
|
"config.h", "system.h", "coretypes.h", "make-unique.h", "tree.h",
|
||||||
|
"function.h", "basic-block.h", "gimple.h", "options.h",
|
||||||
|
"bitmap.h", "diagnostic-core.h", and "diagnostic-path.h".
|
||||||
|
* access-diagram.h: Don't include "analyzer/analyzer.h".
|
||||||
|
* access-diagram.cc: Reorganize includes to #include
|
||||||
|
"analyzer/common.h" first, then group by subsystem, dropping
|
||||||
|
redundant headers.
|
||||||
|
* analysis-plan.cc: Likewise.
|
||||||
|
* analyzer-language.cc: Likewise.
|
||||||
|
* analyzer-pass.cc: Likewise.
|
||||||
|
* analyzer-selftests.cc: Likewise.
|
||||||
|
* analyzer.cc: Likewise.
|
||||||
|
* bounds-checking.cc: Likewise.
|
||||||
|
* call-details.cc: Likewise.
|
||||||
|
* call-info.cc: Likewise.
|
||||||
|
* call-string.cc: Likewise.
|
||||||
|
* call-summary.cc: Likewise.
|
||||||
|
* checker-event.cc: Likewise.
|
||||||
|
* checker-path.cc: Likewise.
|
||||||
|
* complexity.cc: Likewise.
|
||||||
|
* constraint-manager.cc: Likewise.
|
||||||
|
* diagnostic-manager.cc: Likewise.
|
||||||
|
* engine.cc: Likewise.
|
||||||
|
* feasible-graph.cc: Likewise.
|
||||||
|
* infinite-loop.cc: Likewise.
|
||||||
|
* infinite-recursion.cc: Likewise.
|
||||||
|
* kf-analyzer.cc: Likewise.
|
||||||
|
* kf-lang-cp.cc: Likewise.
|
||||||
|
* kf.cc: Likewise.
|
||||||
|
* known-function-manager.cc: Likewise.
|
||||||
|
* pending-diagnostic.cc: Likewise.
|
||||||
|
* program-point.cc: Likewise.
|
||||||
|
* program-state.cc: Likewise.
|
||||||
|
* ranges.cc: Likewise.
|
||||||
|
* record-layout.cc: Likewise.
|
||||||
|
* region-model-asm.cc: Likewise.
|
||||||
|
* region-model-manager.cc: Likewise.
|
||||||
|
* region-model-reachability.cc: Likewise.
|
||||||
|
* region-model.cc: Likewise.
|
||||||
|
* region.cc: Likewise.
|
||||||
|
* sm-fd.cc: Likewise.
|
||||||
|
* sm-file.cc: Likewise.
|
||||||
|
* sm-malloc.cc: Likewise.
|
||||||
|
* sm-pattern-test.cc: Likewise.
|
||||||
|
* sm-sensitive.cc: Likewise.
|
||||||
|
* sm-signal.cc: Likewise.
|
||||||
|
* sm-taint.cc: Likewise.
|
||||||
|
* sm.cc: Likewise.
|
||||||
|
* state-purge.cc: Likewise.
|
||||||
|
* store.cc: Likewise.
|
||||||
|
* supergraph.cc: Likewise.
|
||||||
|
* svalue.cc: Likewise.
|
||||||
|
* symbol.cc: Likewise.
|
||||||
|
* trimmed-graph.cc: Likewise.
|
||||||
|
* varargs.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* region-model.cc (region_model::on_stmt_pre): Use internal_error
|
||||||
|
if we see an unexpected gimple stmt code.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* call-details.cc (call_details::dump): New overload.
|
||||||
|
(call_details::make_dump_widget): New.
|
||||||
|
* call-details.h (call_details::dump): Declare new overload.
|
||||||
|
(call_details::make_dump_widget): New decl.
|
||||||
|
|
||||||
2025-03-14 Jakub Jelinek <jakub@redhat.com>
|
2025-03-14 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR analyzer/119278
|
PR analyzer/119278
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,20 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* c-pretty-print.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* name-hint.h (name_hint::name_hint): Use std::unique_ptr for
|
||||||
|
param.
|
||||||
|
|
||||||
|
2025-04-28 Lewis Hyatt <lhyatt@gmail.com>
|
||||||
|
|
||||||
|
PR c/118838
|
||||||
|
* c-lex.cc (cb_def_pragma): Call cpp_get_diagnostic_override_loc()
|
||||||
|
to get a valid location at which to issue -Wunknown-pragmas, in case
|
||||||
|
it was triggered from a _Pragma.
|
||||||
|
|
||||||
2025-04-25 Jason Merrill <jason@redhat.com>
|
2025-04-25 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
* c-opts.cc (c_common_post_options): Bump default ABI to 21
|
* c-opts.cc (c_common_post_options): Bump default ABI to 21
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,31 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* c-decl.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
* c-objc-common.cc: Likewise.
|
||||||
|
* c-parser.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* c-decl.cc: Include "make-unique.h".
|
||||||
|
(lookup_name_fuzzy): Use ::make_unique rather than "new" when
|
||||||
|
making suggest_missing_header and suggest_missing_option.
|
||||||
|
* c-parser.cc: Include "make-unique.h"
|
||||||
|
(c_parser_error_richloc): Use ::make_unique rather than "new" when
|
||||||
|
making suggest_missing_header.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR c/119432
|
||||||
|
* gimple-parser.cc (gimple_binary_identifier_code): Add
|
||||||
|
__ROTATE_LEFT and __ROTATE_RIGHT.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
* gimple-parser.cc (gimple_binary_identifier_code): New variable.
|
||||||
|
(c_parser_gimple_binary_expression): Use gimple_binary_identifier_code
|
||||||
|
instead of doing if statements on the strings.
|
||||||
|
|
||||||
2025-04-27 H.J. Lu <hjl.tools@gmail.com>
|
2025-04-27 H.J. Lu <hjl.tools@gmail.com>
|
||||||
|
|
||||||
PR c/48274
|
PR c/48274
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,38 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* parser.cc: Include "analyzer/analyzer-language.h".
|
||||||
|
(ana::cp_translation_unit): New class.
|
||||||
|
(cp_parser_translation_unit): Add call to
|
||||||
|
ana::on_finish_translation_unit.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* cxx-pretty-print.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
* error.cc: Likewise.
|
||||||
|
* name-lookup.cc: Likewise.
|
||||||
|
* parser.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* name-lookup.cc: Include "make-unique.h".
|
||||||
|
(namespace_hints::convert_candidates_to_name_hint): Use
|
||||||
|
::make_unique rather than "new" when making
|
||||||
|
show_candidate_location and suggest_alternatives.
|
||||||
|
(namespace_hints::maybe_decorate_with_limit): Likewise when making
|
||||||
|
namespace_limit_reached.
|
||||||
|
(suggest_alternatives_for_1): Likewise when making
|
||||||
|
suggest_missing_option.
|
||||||
|
(maybe_suggest_missing_std_header): Likewise when making
|
||||||
|
missing_std_header.
|
||||||
|
(macro_use_before_def::maybe_make): Use std::unique_ptr.
|
||||||
|
(macro_use_before_def::macro_use_before_def): Make public.
|
||||||
|
(lookup_name_fuzzy): Use ::make_unique rather than "new" when
|
||||||
|
making suggest_missing_header.
|
||||||
|
* parser.cc: Include "make-unique.h".
|
||||||
|
(cp_parser_error_1): Use ::make_unique rather than "new" when
|
||||||
|
making suggest_missing_header.
|
||||||
|
|
||||||
2025-04-27 Nathaniel Shead <nathanieloshead@gmail.com>
|
2025-04-27 Nathaniel Shead <nathanieloshead@gmail.com>
|
||||||
|
|
||||||
PR c++/119939
|
PR c++/119939
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* dummy-frontend.cc: Drop include of "make-unique.h".
|
||||||
|
Replace uses of ::make_unique with std::make_unique.
|
||||||
|
|
||||||
2025-03-29 Iain Sandoe <iain@sandoe.co.uk>
|
2025-03-29 Iain Sandoe <iain@sandoe.co.uk>
|
||||||
|
|
||||||
* libgccjit.exports: Add symbols for ABI 28 to 34.
|
* libgccjit.exports: Add symbols for ABI 28 to 34.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,356 @@
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* checks/errors/borrowck/rust-bir-place.h
|
||||||
|
(IndexVec::size_type): Add.
|
||||||
|
(IndexVec::MAX_INDEX): Add.
|
||||||
|
(IndexVec::size): Change the return type to the type of the
|
||||||
|
internal value used by the index type.
|
||||||
|
(PlaceDB::lookup_or_add_variable): Use the return value from the
|
||||||
|
PlaceDB::add_place call.
|
||||||
|
* checks/errors/borrowck/rust-bir.h
|
||||||
|
(struct BasicBlockId): Move this definition before the
|
||||||
|
definition of the struct Function.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Visit visibility.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-visitor.cc
|
||||||
|
(DefaultASTVisitor::visit): Visit the loop labels of
|
||||||
|
WhileLetLoopExpr instances before visiting their scrutinee
|
||||||
|
expressions.
|
||||||
|
* resolve/rust-early-name-resolver-2.0.cc
|
||||||
|
(Early::resolve_glob_import): Pass the glob import's path
|
||||||
|
directly to NameResolutionContext::resolve_path.
|
||||||
|
* resolve/rust-toplevel-name-resolver-2.0.cc
|
||||||
|
(TopLevel::visit): Remove unnecessary call to
|
||||||
|
Identifier::as_string.
|
||||||
|
(flatten_glob): Improve handling of cases where a glob use tree
|
||||||
|
has no path.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* expand/rust-derive-clone.cc (DeriveClone::clone_enum_struct): Clone
|
||||||
|
path to avoid using the same nodeid.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit_function_params):
|
||||||
|
Add specialized function to visit function parameters.
|
||||||
|
(DefaultASTVisitor::visit): Remove parameter visit and call specialized
|
||||||
|
function instead.
|
||||||
|
* ast/rust-ast-visitor.h: Add function prototye.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Remove
|
||||||
|
function.
|
||||||
|
(Late::visit_function_params): Override specialized visit function.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.h: Add overriden function
|
||||||
|
prototype.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* resolve/rust-name-resolution-context.h: Use BindingLayer instead.
|
||||||
|
* resolve/rust-name-resolution-context.cc (BindingLayer::BindingLayer):
|
||||||
|
Add new constructor for binding layer.
|
||||||
|
(BindingLayer::bind_test): Add a function to test a binding constraint.
|
||||||
|
(BindingLayer::push): Push a new binding group.
|
||||||
|
(BindingLayer::and_binded): Add function to test and-binding
|
||||||
|
constraint.
|
||||||
|
(BindingLayer::or_binded): Add function to test or-binding constraints.
|
||||||
|
(BindingLayer::insert_ident): Insert a new identifier in the current
|
||||||
|
binding group.
|
||||||
|
(BindingLayer::merge): Merge current binding group with it's parent.
|
||||||
|
(BindingLayer::get_source): Get the source of the current binding
|
||||||
|
group.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc: Use stacked context for
|
||||||
|
binding group.
|
||||||
|
* util/rust-stacked-contexts.h: Add mutable peek function.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add binding
|
||||||
|
creation in visitor.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.h: Add function prototypes.
|
||||||
|
* resolve/rust-name-resolution-context.h: Add binding context.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* resolve/rust-name-resolution-context.h (struct Binding): Add Binding
|
||||||
|
struct to differentiate Or and Product bindings in patterns.
|
||||||
|
(enum class): Add Binding kind.
|
||||||
|
(class BindingContext): Add binding context with Binding stack.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast.h: Add hash function.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast.h: Add equality operator.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* resolve/rust-default-resolver.cc (DefaultResolver::visit): Add visit
|
||||||
|
function for TypeParam.
|
||||||
|
* resolve/rust-default-resolver.h: Add function prototype.
|
||||||
|
* resolve/rust-forever-stack.h: Add function to check for forward
|
||||||
|
declaration ban.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Check forward
|
||||||
|
declarations.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-collector.cc (TokenCollector::visit): Remove error kind
|
||||||
|
and change function call.
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Change call name.
|
||||||
|
* ast/rust-path.cc (ConstGenericParam::as_string): Likewise.
|
||||||
|
* ast/rust-path.h: Remove error kind.
|
||||||
|
* hir/rust-ast-lower-type.cc (ASTLowerGenericParam::visit): Change call
|
||||||
|
name.
|
||||||
|
* parse/rust-parse-impl.h (Parser::parse_generic_param): Use optional
|
||||||
|
on parsing failure.
|
||||||
|
(Parser::parse_generic_arg): Likewise.
|
||||||
|
(Parser::parse_path_generic_args): Likewise.
|
||||||
|
* parse/rust-parse.h: Likewise.
|
||||||
|
* resolve/rust-ast-resolve-type.h: Change call name.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Change error
|
||||||
|
message.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* resolve/rust-early-name-resolver-2.0.cc
|
||||||
|
(Early::build_import_mapping): Avoid outputting an "unresolved
|
||||||
|
import" error if other errors are outputted during resolution.
|
||||||
|
* resolve/rust-early-name-resolver-2.0.h
|
||||||
|
(Early::resolve_path_in_all_ns): Collect path resolution errors
|
||||||
|
while avoiding duplicate errors for resolutions in each
|
||||||
|
namespace.
|
||||||
|
* resolve/rust-forever-stack.h
|
||||||
|
(ForeverStack::resolve_path): Add parameter for collecting
|
||||||
|
errors.
|
||||||
|
(ForeverStack::find_starting_point): Likewise.
|
||||||
|
(ForeverStack::resolve_segments): Likewise.
|
||||||
|
* resolve/rust-forever-stack.hxx
|
||||||
|
(check_leading_kw_at_start): Likewise.
|
||||||
|
(ForeverStack::find_starting_point): Likewise.
|
||||||
|
(ForeverStack::resolve_segments): Likewise.
|
||||||
|
(ForeverStack::resolve_path): Likewise.
|
||||||
|
* resolve/rust-name-resolution-context.h
|
||||||
|
(NameResolutionContext::resolve_path): Add optional parameter
|
||||||
|
for collecting errors.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* backend/rust-compile-expr.cc (CompileExpr::array_copied_expr): prealloc the vector
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): add guard
|
||||||
|
* expand/rust-expand-visitor.cc (ExpandVisitor::visit): add guard
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* resolve/rust-ast-resolve-path.cc
|
||||||
|
(ResolvePath::resolve_path): Adjust error messages.
|
||||||
|
* resolve/rust-ast-resolve-type.cc
|
||||||
|
(ResolveRelativeTypePath::go): Likewise.
|
||||||
|
* resolve/rust-forever-stack.hxx
|
||||||
|
(check_leading_kw_at_start): Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): fix bad assertion
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* resolve/rust-forever-stack.hxx
|
||||||
|
(ForeverStack::resolve_path): Pass instance of Node to lambda by
|
||||||
|
reference instead of by value.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-hir-type-check-struct-field.h: keep reference to parent expression
|
||||||
|
* typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::TypeCheckStructExpr):
|
||||||
|
update ctor
|
||||||
|
(TypeCheckStructExpr::resolve): remove bad rust_fatal_errors
|
||||||
|
(TypeCheckStructExpr::visit): cleanup errors
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* resolve/rust-late-name-resolver-2.0.cc
|
||||||
|
(Late::visit): Handle StructPatternFieldIdent.
|
||||||
|
* resolve/rust-late-name-resolver-2.0.h
|
||||||
|
(Late::visit): Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-collector.cc (TokenCollector::visit): Dump llvm inline
|
||||||
|
asm tokens.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-collector.cc (TokenCollector::visit): Remove unreachable
|
||||||
|
code.
|
||||||
|
* ast/rust-expr.h (struct LlvmOperand): Add LlvmOperand struct to
|
||||||
|
represent input and outputs.
|
||||||
|
(class LlvmInlineAsm): Add input, output and clobber operands.
|
||||||
|
(struct TupleTemplateStr): Add locus getter.
|
||||||
|
* backend/rust-compile-block.h: Add visit for LlvmInlineAsm.
|
||||||
|
* backend/rust-compile-expr.cc (CompileExpr::visit): Add llvm inline
|
||||||
|
asm stmt compilation.
|
||||||
|
* backend/rust-compile-expr.h: Add function prototype.
|
||||||
|
* backend/rust-compile-asm.h (class CompileLlvmAsm): Add llvm asm hir
|
||||||
|
not to gimple.
|
||||||
|
* backend/rust-compile-asm.cc (CompileLlvmAsm::CompileLlvmAsm): Add
|
||||||
|
constructor.
|
||||||
|
(CompileLlvmAsm::construct_operands): Add function to construct operand
|
||||||
|
tree.
|
||||||
|
(CompileLlvmAsm::construct_clobbers): Add function to construct clobber
|
||||||
|
tree.
|
||||||
|
(CompileLlvmAsm::tree_codegen_asm): Generate the whole tree for a given
|
||||||
|
llvm inline assembly node.
|
||||||
|
* checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
|
||||||
|
Add visit function.
|
||||||
|
* checks/errors/borrowck/rust-bir-builder-expr-stmt.h: Add function
|
||||||
|
prototype.
|
||||||
|
* checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h: Add visit
|
||||||
|
function.
|
||||||
|
* checks/errors/borrowck/rust-bir-builder-struct.h: Likewise.
|
||||||
|
* checks/errors/borrowck/rust-function-collector.h: Likewise.
|
||||||
|
* checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit):
|
||||||
|
Likewise.
|
||||||
|
* checks/errors/privacy/rust-privacy-reporter.h: Add visit function
|
||||||
|
prototype.
|
||||||
|
* checks/errors/rust-const-checker.cc (ConstChecker::visit): Add visit
|
||||||
|
function.
|
||||||
|
* checks/errors/rust-const-checker.h: Add visit function prototype.
|
||||||
|
* checks/errors/rust-hir-pattern-analysis.cc (PatternChecker::visit):
|
||||||
|
Add visit function.
|
||||||
|
* checks/errors/rust-hir-pattern-analysis.h: Add visit function
|
||||||
|
prototype.
|
||||||
|
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Add
|
||||||
|
visit function.
|
||||||
|
* checks/errors/rust-unsafe-checker.h: Add function prototype.
|
||||||
|
* expand/rust-macro-builtins-asm.cc (parse_llvm_templates): Parse
|
||||||
|
templates.
|
||||||
|
(parse_llvm_arguments): Add function to parse non template tokens.
|
||||||
|
(parse_llvm_operands): Add function to parse operands, either input or
|
||||||
|
output.
|
||||||
|
(parse_llvm_outputs): Add function to parse and collect llvm asm
|
||||||
|
outputs.
|
||||||
|
(parse_llvm_inputs): Likewise with inputs.
|
||||||
|
(parse_llvm_clobbers): Add function to parse llvm asm clobbers.
|
||||||
|
(parse_llvm_options): Add function to parse llvm asm options.
|
||||||
|
(parse_llvm_asm): Add function to parse llvm asm.
|
||||||
|
* expand/rust-macro-builtins-asm.h (class LlvmAsmContext): Add context
|
||||||
|
for llvm asm parser.
|
||||||
|
(parse_llvm_outputs): Add function prototype.
|
||||||
|
(parse_llvm_inputs): Likewise.
|
||||||
|
(parse_llvm_clobbers): Likewise.
|
||||||
|
(parse_llvm_options): Likewise.
|
||||||
|
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Lower AST llvm
|
||||||
|
asm node to HIR.
|
||||||
|
* hir/rust-ast-lower-expr.h: Add function prototype.
|
||||||
|
* hir/rust-hir-dump.cc (Dump::visit): Add visit function.
|
||||||
|
* hir/rust-hir-dump.h: Add function prototype.
|
||||||
|
* hir/tree/rust-hir-expr-abstract.h: Add HIR llvm asm node kind.
|
||||||
|
* hir/tree/rust-hir-expr.h (struct LlvmOperand): Add LlvmOperand type
|
||||||
|
to represent input and outputs.
|
||||||
|
(class LlvmInlineAsm): Add LlvmInlineAsm hir node.
|
||||||
|
* hir/tree/rust-hir-full-decls.h (class LlvmInlineAsm): Add
|
||||||
|
LlvmInlineAsm hir node forward declaration.
|
||||||
|
* hir/tree/rust-hir-visitor.h: Add visit functions for LlvmInlineAsm
|
||||||
|
hir node.
|
||||||
|
* hir/tree/rust-hir.cc (LlvmInlineAsm::accept_vis): Add hir node
|
||||||
|
visitor related functions.
|
||||||
|
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
|
||||||
|
Type check input and output operands.
|
||||||
|
* typecheck/rust-hir-type-check-expr.h: Add function prototype.
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Visit input and
|
||||||
|
output operand expressions.
|
||||||
|
* resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Resolve input
|
||||||
|
and output expressions.
|
||||||
|
* resolve/rust-ast-resolve-expr.h: Add function prototypes.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* ast/rust-ast-collector.cc (TokenCollector::visit): Make visitor
|
||||||
|
unreachable.
|
||||||
|
* ast/rust-ast-collector.h: Add visit for LlvmInlineAsmNode.
|
||||||
|
* ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Add visit
|
||||||
|
function for the default ast visitor.
|
||||||
|
* ast/rust-ast-visitor.h: Add function prototype.
|
||||||
|
* ast/rust-ast.cc (LlvmInlineAsm::accept_vis): Add accept_vis to
|
||||||
|
LlvmInlineAsm node.
|
||||||
|
* ast/rust-ast.h: Add LlvmInlineAsm node kind.
|
||||||
|
* ast/rust-expr.h (class LlvmInlineAsm): Add LlvmInlineAsm node.
|
||||||
|
* expand/rust-derive.h: Add visit function for LlvmInlineAsm node.
|
||||||
|
* expand/rust-macro-builtins-asm.cc (MacroBuiltin::llvm_asm_handler):
|
||||||
|
Add handler for llvm inline assembly nodes.
|
||||||
|
(parse_llvm_asm): Add function to parse llvm assembly nodes.
|
||||||
|
* expand/rust-macro-builtins-asm.h (parse_llvm_asm): Add function
|
||||||
|
prototypes.
|
||||||
|
* expand/rust-macro-builtins.cc (inline_llvm_asm_maker): Add macro
|
||||||
|
transcriber.
|
||||||
|
* expand/rust-macro-builtins.h: Add transcriber function prototype.
|
||||||
|
* hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Add visit
|
||||||
|
function for LlvmInlineAsm node.
|
||||||
|
* hir/rust-ast-lower-base.h: Add visit function prototype.
|
||||||
|
* resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Add visit
|
||||||
|
function for LlvmInlineAsm node.
|
||||||
|
* resolve/rust-ast-resolve-base.h: Add visit function prototype.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* expand/rust-macro-builtins-asm.cc (parse_asm_arg): Emit error
|
||||||
|
message.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): add diagnostic
|
||||||
|
* typecheck/rust-tyty.cc (BaseType::contains_infer): new helper to grab first infer var
|
||||||
|
* typecheck/rust-tyty.h: prototype
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust-gcc.cc (arithmetic_or_logical_expression): Ensure this is an integer
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* hir/rust-hir-dump.cc (Dump::visit): add guard for optional label
|
||||||
|
|
||||||
|
2025-04-28 Yap Zhi Heng <yapzhhg@gmail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-tyty.h: Remove extra redundant comment.
|
||||||
|
* typecheck/rust-hir-type-check-base.cc: Update comment on repr
|
||||||
|
handling.
|
||||||
|
|
||||||
|
2025-04-28 Zhi Heng <yapzhhg@gmail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-hir-type-check-base.cc: Set enum representing
|
||||||
|
type properly if repr is an integer type.
|
||||||
|
* typecheck/rust-hir-type-check-item.cc: Update comments.
|
||||||
|
|
||||||
|
2025-04-28 Zhi Heng <yapzhhg@gmail.com>
|
||||||
|
|
||||||
|
* typecheck/rust-tyty.h: Add new `ReprKind` enum to
|
||||||
|
`ReprOptions`.
|
||||||
|
* typecheck/rust-hir-type-check-base.cc: Handle setting of
|
||||||
|
`repr_kind`.
|
||||||
|
* typecheck/rust-hir-type-check-item.cc: New check for
|
||||||
|
zero-variant enums.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): add null check
|
||||||
|
* hir/tree/rust-hir-item.h: add has_type helper
|
||||||
|
* typecheck/rust-hir-trait-resolve.cc (TraitItemReference::resolve_item):
|
||||||
|
add missing type checking
|
||||||
|
|
||||||
2025-04-14 Arthur Cohen <arthur.cohen@embecosm.com>
|
2025-04-14 Arthur Cohen <arthur.cohen@embecosm.com>
|
||||||
|
|
||||||
* util/rust-lang-item.h: Add new manually_drop lang item.
|
* util/rust-lang-item.h: Add new manually_drop lang item.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,315 @@
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/111536
|
||||||
|
* c-c++-common/analyzer/hard-reg-1.c: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-1.C: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-2.C: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-pr111536-1.C: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-pr111536-1b.C: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-pr111536-2.C: New test.
|
||||||
|
* g++.dg/analyzer/nrvo-pr111536-2b.C: New test.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/109366
|
||||||
|
* g++.dg/analyzer/unique_ptr-1.C: New test.
|
||||||
|
* g++.dg/analyzer/unique_ptr-2.C: New test.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
PR analyzer/97111
|
||||||
|
* c-c++-common/analyzer/analyzer-verbosity-2a.c: Add
|
||||||
|
-fno-exceptions.
|
||||||
|
* c-c++-common/analyzer/analyzer-verbosity-3a.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/attr-const-2.c: Add
|
||||||
|
__attribute__((nothrow)).
|
||||||
|
* c-c++-common/analyzer/attr-malloc-4.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/attr-malloc-5.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/attr-malloc-6.c: Add -fno-exceptions.
|
||||||
|
* c-c++-common/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/attr-malloc-exception.c: New test.
|
||||||
|
* c-c++-common/analyzer/call-summaries-pr107158-2.c: Add
|
||||||
|
-fno-exceptions.
|
||||||
|
* c-c++-common/analyzer/call-summaries-pr107158.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/capacity-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/coreutils-sum-pr108666.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/data-model-22.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/data-model-5d.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/deref-before-check-pr108455-git-pack-revindex.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/edges-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/fd-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/fd-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/fd-meaning.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/file-1.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/file-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/file-meaning-1.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/infinite-recursion.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/leak-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-dedupe-1.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-in-loop.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-many-paths-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-paths-5.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-paths-7.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-paths-8.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-vs-local-1a.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-vs-local-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/malloc-vs-local-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/paths-7.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr110830.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr93032-mztools-simplified.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr93355-localealias-feasibility-3.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/pr93355-localealias-simplified.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/pr96650-1-trans.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr97072.c: Add __attribute__((nothrow)).
|
||||||
|
* c-c++-common/analyzer/pr98575-1.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr99716-1.c: Add -fno-exceptions.
|
||||||
|
* c-c++-common/analyzer/pr99716-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pr99716-3.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/pragma-2.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/rhbz1878600.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/strndup-1.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/write-to-string-literal-4-disabled.c:
|
||||||
|
Likewise.
|
||||||
|
* c-c++-common/analyzer/write-to-string-literal-4.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/write-to-string-literal-5.c: Likewise.
|
||||||
|
* c-c++-common/analyzer/zlib-5.c: Likewise.
|
||||||
|
* g++.dg/analyzer/exception-could-throw-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-could-throw-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-dynamic-spec.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-3.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-4.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-5.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-leak-6.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-nothrow.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-catch-all-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-catch-all-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-unwind-multiple-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-unwind-multiple.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-unwind-single.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-path-with-cleanups.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-rethrow-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-rethrow-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-stack-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-stack-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-subclass-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-subclass-2.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-value-1.C: New test.
|
||||||
|
* g++.dg/analyzer/exception-value-2.C: New test.
|
||||||
|
* g++.dg/analyzer/fno-exception.C: New test.
|
||||||
|
* g++.dg/analyzer/pr94028.C: Drop xfail.
|
||||||
|
* g++.dg/analyzer/std-unexpected.C: New test.
|
||||||
|
* g++.dg/coroutines/pr105287.C: Drop dg-excess-errors.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* gcc.dg/plugin/analyzer_cpython_plugin.cc: Drop include of
|
||||||
|
"make-unique.h". Replace uses of ::make_unique with
|
||||||
|
std::make_unique.
|
||||||
|
* gcc.dg/plugin/analyzer_gil_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/analyzer_kernel_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/analyzer_known_fns_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/diagnostic_group_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* gcc.dg/plugin/analyzer_gil_plugin.cc: Convert gcall * to gcall &
|
||||||
|
where we know the pointer must be non-null.
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* gcc.dg/plugin/analyzer_cpython_plugin.cc: Convert
|
||||||
|
enum poison_kind to "enum class".
|
||||||
|
|
||||||
|
2025-04-28 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* gcc.dg/plugin/analyzer_cpython_plugin.cc: Update for renaming
|
||||||
|
of analyzer/analyzer.h to analyzer/common.h.
|
||||||
|
* gcc.dg/plugin/analyzer_gil_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/analyzer_kernel_plugin.cc: Likewise.
|
||||||
|
* gcc.dg/plugin/analyzer_known_fns_plugin.cc: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/95801
|
||||||
|
* gcc.dg/tree-ssa/pr95801.c: New.
|
||||||
|
|
||||||
|
2025-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/119712
|
||||||
|
* gcc.dg/pr119712.c: New.
|
||||||
|
* gcc.dg/pr83072-2.c: Adjust.
|
||||||
|
* gcc.dg/tree-ssa/phi-opt-value-5.c: Adjust.
|
||||||
|
* gcc.dg/tree-ssa/vrp122.c: Adjust
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR tree-optimization/67797
|
||||||
|
* gcc.dg/tree-ssa/tailcall-14.c: New test.
|
||||||
|
* gcc.dg/tree-ssa/tailcall-15.c: New test.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR c/119432
|
||||||
|
* gcc.dg/gimplefe-57.c: New test.
|
||||||
|
|
||||||
|
2025-04-28 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
|
PR tree-optimization/100038
|
||||||
|
* g++.dg/tree-ssa/pr100038.C: New test.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove now passing test from exclusion
|
||||||
|
list.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove passing test from exclusion list.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/multiple_bindings1.rs: Add missing lang items.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove test from exclusion list.
|
||||||
|
* rust/compile/use_1.rs: Change expected output and remove test from
|
||||||
|
nr1.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/generics9.rs: Change expected error message.
|
||||||
|
* rust/compile/nr2/exclude: Remove test from exclusion list.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove passing test from exclusion list.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove entry.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* rust/compile/derive-debug1.rs: Adjust a path.
|
||||||
|
* rust/compile/nr2/exclude: Remove derive-debug1.rs.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: nr2 is missing error for this
|
||||||
|
* rust/compile/issue-3649.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3568.rs: Adjust expected errors.
|
||||||
|
* rust/compile/name_resolution9.rs: Likewise.
|
||||||
|
* rust/compile/self-path2.rs: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/nonexistent-field.rs: fix bad error message
|
||||||
|
* rust/compile/issue-3581-1.rs: New test.
|
||||||
|
* rust/compile/issue-3581-2.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: nr2 does not error on the T it should require Self::T
|
||||||
|
* rust/compile/issue-3652.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/macros/mbe/macro-issue2983_2984.rs: cleanup error diagnotics
|
||||||
|
* rust/compile/struct_init1.rs: likewise
|
||||||
|
* rust/compile/issue-3628.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
|
||||||
|
|
||||||
|
* rust/compile/nr2/exclude: Remove entry.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3662.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3711.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/compile/black_box.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
|
||||||
|
|
||||||
|
* rust/execute/black_box.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-402.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3664.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 Zhi Heng <yapzhhg@gmail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3530-1.rs: New file.
|
||||||
|
* rust/compile/issue-3530-2.rs: New file.
|
||||||
|
|
||||||
|
2025-04-28 Philip Herron <herron.philip@googlemail.com>
|
||||||
|
|
||||||
|
* rust/compile/issue-3612.rs: New test.
|
||||||
|
|
||||||
|
2025-04-28 H.J. Lu <hjl.tools@gmail.com>
|
||||||
|
Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
PR target/109780
|
||||||
|
PR target/109093
|
||||||
|
* g++.target/i386/pr109780-1.C: New test.
|
||||||
|
* gcc.target/i386/pr109093-1.c: Likewise.
|
||||||
|
* gcc.target/i386/pr109780-1.c: Likewise.
|
||||||
|
* gcc.target/i386/pr109780-2.c: Likewise.
|
||||||
|
* gcc.target/i386/pr109780-3.c: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR ipa/119973
|
||||||
|
* gcc.dg/torture/pr119973.c: New testcase.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/119103
|
||||||
|
* gcc.target/i386/pr119103.c: New testcase.
|
||||||
|
|
||||||
|
2025-04-28 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/60779
|
||||||
|
* gcc.dg/lto/pr60779_0.c: New testcase.
|
||||||
|
* gcc.dg/lto/pr60779_1.c: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Lewis Hyatt <lhyatt@gmail.com>
|
||||||
|
|
||||||
|
PR c/118838
|
||||||
|
* c-c++-common/cpp/pragma-diagnostic-loc-2.c: New test.
|
||||||
|
* g++.dg/gomp/macro-4.C: Adjust expected output.
|
||||||
|
* gcc.dg/gomp/macro-4.c: Likewise.
|
||||||
|
* gcc.dg/cpp/Wunknown-pragmas-1.c: Likewise.
|
||||||
|
|
||||||
|
2025-04-28 Jonathan Yong <10walls@gmail.com>
|
||||||
|
|
||||||
|
* gcc.dg/graphite/id-15.c: Use __SIZE_TYPE__ instead of
|
||||||
|
unsigned long.
|
||||||
|
* gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: ditto.
|
||||||
|
|
||||||
2025-04-27 Nathaniel Shead <nathanieloshead@gmail.com>
|
2025-04-27 Nathaniel Shead <nathanieloshead@gmail.com>
|
||||||
|
|
||||||
PR c++/119939
|
PR c++/119939
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2025-04-28 Lewis Hyatt <lhyatt@gmail.com>
|
||||||
|
|
||||||
|
PR c/118838
|
||||||
|
* errors.cc (cpp_get_diagnostic_override_loc): New function.
|
||||||
|
* include/cpplib.h (cpp_get_diagnostic_override_loc): Declare.
|
||||||
|
|
||||||
2025-04-24 Jakub Jelinek <jakub@redhat.com>
|
2025-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c++/110343
|
PR c++/110343
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,67 @@
|
||||||
|
2025-04-28 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
||||||
|
|
||||||
|
* testsuite/20_util/shared_ptr/requirements/1.cc: Test both
|
||||||
|
shared_ptr and weak_ptr.
|
||||||
|
Add more tests.
|
||||||
|
* testsuite/20_util/weak_ptr/requirements/1.cc: Removed as
|
||||||
|
superseded by the other test.
|
||||||
|
|
||||||
|
2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/119970
|
||||||
|
* include/std/ostream (vprint_unicode) [_WIN32 && !__CYGWIN__]: Call
|
||||||
|
_Str_sink::_M_span instead of view.
|
||||||
|
* include/std/print (vprint_unicode) [_WIN32 && !__CYGWIN__]: Call
|
||||||
|
_Str_sink::_M_span instead of view.
|
||||||
|
|
||||||
|
2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
|
||||||
|
|
||||||
|
* include/bits/ranges_base.h (__detail::__range_key_type):
|
||||||
|
Replace remove_const_t with remove_cvref_t.
|
||||||
|
(__detail::__range_mapped_type): Apply remove_cvref_t.
|
||||||
|
* include/bits/stl_iterator.h: (__detail::__iter_key_t):
|
||||||
|
Replace remove_const_t with __remove_cvref_t.
|
||||||
|
(__detail::__iter_val_t): Apply __remove_cvref_t.
|
||||||
|
* testsuite/23_containers/flat_map/1.cc: New tests.
|
||||||
|
* testsuite/23_containers/flat_multimap/1.cc: New tests.
|
||||||
|
* testsuite/23_containers/map/cons/deduction.cc: New tests.
|
||||||
|
* testsuite/23_containers/map/cons/from_range.cc: New tests.
|
||||||
|
* testsuite/23_containers/multimap/cons/deduction.cc: New tests.
|
||||||
|
* testsuite/23_containers/multimap/cons/from_range.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_map/cons/deduction.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_map/cons/from_range.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
|
||||||
|
New tests.
|
||||||
|
* testsuite/23_containers/unordered_multimap/cons/from_range.cc:
|
||||||
|
New tests.
|
||||||
|
|
||||||
|
2025-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
|
||||||
|
|
||||||
|
* include/bits/unordered_map.h (unordered_map):
|
||||||
|
Define constructors accepting:
|
||||||
|
(_InputIterator, _InputIterator, const allocator_type&),
|
||||||
|
(initializer_list<value_type>, const allocator_type&),
|
||||||
|
(unordered_multimap): Likewise.
|
||||||
|
* include/debug/unordered_map (unordered_map): Likewise.
|
||||||
|
(unordered_multimap): Likewise.
|
||||||
|
* include/bits/unordered_set.h (unordered_set):
|
||||||
|
Define constructors and deduction guide accepting:
|
||||||
|
(_InputIterator, _InputIterator, const allocator_type&),
|
||||||
|
(initializer_list<value_type>, const allocator_type&),
|
||||||
|
(unordered_multiset): Likewise.
|
||||||
|
* include/debug/unordered_set (unordered_set): Likewise.
|
||||||
|
(unordered_multiset): Likewise.
|
||||||
|
* testsuite/23_containers/unordered_map/cons/66055.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_map/cons/deduction.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_multimap/cons/66055.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_multimap/cons/deduction.cc: New
|
||||||
|
tests.
|
||||||
|
* testsuite/23_containers/unordered_multiset/cons/66055.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_multiset/cons/deduction.cc: New
|
||||||
|
tests.
|
||||||
|
* testsuite/23_containers/unordered_set/cons/66055.cc: New tests.
|
||||||
|
* testsuite/23_containers/unordered_set/cons/deduction.cc: New tests.
|
||||||
|
|
||||||
2025-04-25 Jonathan Wakely <jwakely@redhat.com>
|
2025-04-25 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
* include/bits/ptr_traits.h (to_address): Use markdown for
|
* include/bits/ptr_traits.h (to_address): Use markdown for
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue