Daily bump.

This commit is contained in:
GCC Administrator
2026-04-29 00:16:40 +00:00
parent 5b0937f037
commit fccea8edc3
11 changed files with 977 additions and 1 deletions

View File

@@ -1,3 +1,7 @@
2026-04-28 Bohan Lei <garthlei@linux.alibaba.com>
* MAINTAINERS: Add myself to write after approval and DCO.
2026-04-01 David Faust <david.faust@oracle.com>
* MAINTAINERS: Add my bugzilla account.

View File

@@ -1,3 +1,393 @@
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR analyzer/124217
* doc/invoke.texi: Add -Wanalyzer-div-by-zero.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (ANALYZER_OBJS): Add analyzer/exploded-path.o.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (ANALYZER_OBJS): Add analyzer/setjmp-longjmp.o.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (ANALYZER_OBJS): Add
analyzer/poisoned-value-diagnostic.o,
analyzer/shift-diagnostics.o, and
analyzer/write-to-const-diagnostics.o.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* doc/invoke.texi: Rename -Wanalyzer-mkstemp-missing-suffix to
-Wanalyzer-mktemp-missing-placeholder and
-Wanalyzer-mkstemp-of-string-literal to
-Wanalyzer-mktemp-of-string-literal. Add
-Wanalyzer-mkostemp-redundant-flags. Fix alphabetical ordering
of detailed descriptions.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* doc/invoke.texi: Add -Wanalyzer-mkstemp-missing-suffix and
-Wanalyzer-mkstemp-of-string-literal.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* diagnostics/html-sink.cc: Update status comment.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* doc/libgdiagnostics/topics/execution-paths.rst
(diagnostic_execution_path_add_event_via_msg_buf): Fix
indentation.
* doc/libgdiagnostics/topics/message-buffers.rst: Replace
duplicate entry for diagnostic_message_buffer_end_url with entry
for diagnostic_message_buffer_end_quote.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* diagnostics/context.h (diagnostics::context::make_option_name):
Convert return type from char * to label_text, and rename to...
(diagnostics::context::get_option_name): ...this.
(diagnostics::context::make_option_url): Likewise, renaming to...
(diagnostics::context::get_option_url): ...this.
* diagnostics/html-sink.cc
(html_builder::make_element_for_diagnostic): Update for above
changes.
* diagnostics/lazy-paths.cc (selftest::all_warnings_disabled):
Update for above changes.
* diagnostics/option-id-manager.h
(diagnostics::option_id_manager::make_option_name): Convert return
type from char * to label_text, and rename to...
(diagnostics::option_id_manager::get_option_name): ...this.
(diagnostics::option_id_manager::make_option_url): Likewise,
renaming to...
(diagnostics::option_id_manager::get_option_url): ...this.
* diagnostics/sarif-sink.cc: Add #define INCLUDE_SET.
(sarif_builder::m_rule_id_set): Convert from
hash_set <free_string_hash> to std::set<std::string>.
(sarif_builder::make_result_object): Update for above changes,
removing manual memory management.
(sarif_builder::make_reporting_descriptor_object_for_warning):
Likewise.
* diagnostics/text-sink.cc (text_sink::print_option_information):
Likewise.
* lto-wrapper.cc (print_lto_docs_link): Likewise.
(lto_diagnostic_option_id_manager::make_option_name): Convert
return type from char * to label_text, and rename to...
(lto_diagnostic_option_id_manager::get_option_name): ...this.
* opts-diagnostic.h (gcc_diagnostic_option_id_manager): Update for
above changes.
* opts.cc
(compiler_diagnostic_option_id_manager::make_option_name): Update
as above, renaming to...
(compiler_diagnostic_option_id_manager::get_option_name): ...this.
(gcc_diagnostic_option_id_manager::make_option_url): Likewise,
renaming to...
(gcc_diagnostic_option_id_manager::get_option_url): ...this.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR sarif-replay/123056
* libsarifreplay.cc: Include "json-pointer-parsing.h".
(sarif_replayer::sarif_replayer): Initialize m_root_val.
(sarif_replayer::m_root_val): New field.
(sarif_replayer::replay_file): Store m_root_val.
(sarif_replayer::append_embeddded_link): Add message_obj param.
Attempt to decode intra-sarif links, turning them into event IDs.
(sarif_replayer::decode_link_within_sarif): New.
(sarif_replayer::make_plain_text_within_result_message): Pass
message_obj to append_embeddded_link.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (OBJS-libcommon): Add json-pointer-parsing.o.
* json-pointer-parsing.cc: New file.
* json-pointer-parsing.h: New file.
* json.cc (json::object::set_string): Return a borrowed pointer to
the new json::value.
(json::object::set_integer): Likewise.
(json::array::append_string): Likewise.
* json.h (json::object::set_string): Likewise.
(json::object::set_integer): Likewise.
(json::array::append_string): Likewise.
* selftest-run-tests.cc (selftest::run_tests): Call
selftest::json_pointer_parsing_cc_tests.
* selftest.h (selftest::json_pointer_parsing_cc_tests): New decl.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (OBJS-libcommon): Add pretty-print-token-buffer.o.
* libgdiagnostics.cc: Drop include of "auto-obstack.h".
Include "pretty-print-token-buffer.h".
(class copying_token_printer): Move to
pretty-print-token-buffer.cc.
(struct diagnostic_message_buffer): Reimplement as a subclass of
pretty_print_token_buffer.
(diagnostic_message_buffer::to_string): Rename to
pretty_print_token_buffer::to_string and move to
pretty-print-token-buffer.cc.
* pretty-print-token-buffer.cc: New file, based on material from
libgdiagnostics.cc.
* pretty-print-token-buffer.h: New file, based on material from
libgdiagnostics.h.
* selftest-run-tests.cc (selftest::run_tests): Call
selftest::pretty_print_token_buffer_cc_tests.
* selftest.h (selftest::pretty_print_token_buffer_cc_tests): New
decl.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* json-diagnostic.cc: Include "pretty-print-markup-json.h".
(class pp_markup::quoted_json_pointer): Move to...
* pretty-print-markup-json.h: ...this new file.
2026-04-28 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR target/124760
* config/riscv/bitmanip.md (SI->DI promoting shadd pattern): Promote
intermediate SI ops to DI ops when there's a final extending op.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
PR tree-optimization/125067
* tree-ssa-phiprop.cc (can_handle_load): Fix copy and pasto
on dominated_by_p.
2026-04-28 Vladimir N. Makarov <vmakarov@redhat.com>
* lra-eliminations.cc (mark_not_eliminable): Fix condition to
consider hard regs instead of pseudos for INC/DEC/MODIFY operands.
2026-04-28 Vladimir N. Makarov <vmakarov@redhat.com>
* lra-constraints.cc (curr_insn_transform): When recreating subreg
of a const put in pool, use the original subreg mode.
2026-04-28 Vladimir N. Makarov <vmakarov@redhat.com>
* ira-lives.cc (ira_implicitly_set_insn_hard_regs): Use the same
start prefered for all operand.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* tree-ssa-phiprop.cc (propagate_with_phi): Move vuse variable
declaration right before its use.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* tree-ssa-phiprop.cc (propagate_with_phi): Move vuse checks
before the dominator tests.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* tree-ssa-phiprop.cc (propagate_with_phi): Factor out
checking the load for vdef to ....
(can_move_into_conditional): Here.
2026-04-28 Philipp Tomsich <philipp.tomsich@vrull.eu>
* fold-mem-offsets.cc (pass_fold_mem_offsets::execute): Remove
optimize_bb_for_size_p check.
* config/riscv/riscv.cc (riscv_option_override): Disable
flag_fold_mem_offsets when optimizing for size with compressed
instructions.
2026-04-28 Jiawei <jiawei@iscas.ac.cn>
Edwin Lu <ewlu@rivosinc.com>
* config/riscv/riscv-ext.def: New extension.
* config/riscv/riscv-ext.opt: Ditto.
* config/riscv/sync-rvwmo.md: Add check for zalasr.
* config/riscv/sync-ztso.md: Ditto.
* doc/riscv-ext.texi: New extension.
2026-04-28 Maximilian Ciric <max.ciric@gmail.com>
* config/riscv/riscv.cc (riscv_can_tag_addresses): New function.
(RISCV_HWASAN_TAG_SIZE): New definition.
(riscv_memtag_tag_bitsize): New function.
(TARGET_MEMTAG_CAN_TAG_ADDRESSES): New definition.
(TARGET_MEMTAG_TAG_BITSIZE): Likewise.
2026-04-28 Dimitar Dimitrov <dimitar@dinux.eu>
* config/pru/pru.h (ASM_SPEC): Define.
2026-04-28 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR tree-optimization/94892
* config/riscv/riscv.md (sign_bit_splat_equality_test): New pattern.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Do not
attempt to live code-generate defs that are kept in scalar
form anyway.
* tree-vect-loop.cc (vectorizable_live_operation): Update
comment.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (_slp_tree::live_lanes): New vector.
(SLP_TREE_LIVE_LANES): New.
* tree-vect-loop.cc (vectorizable_live_operation): Append
to SLP_TREE_LIVE_LANES.
* tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize
SLP_TREE_LIVE_LANES.
(_slp_tree::~_slp_tree): Release SLP_TREE_LIVE_LANES.
(vect_print_slp_tree): Adjust live lane dumping, indicating
the SLP node a lane is code generated from.
(vect_bb_slp_mark_live_stmts): No longer verify we can
code-generate from all SLP nodes but at least one, picking
the first.
* tree-vect-stmts.cc (vect_transform_stmt): Iterate over
SLP_TREE_LIVE_LANES.
(vect_analyze_stmt): Also analyze reductions for live
lanes.
2026-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/124222
* tree-vect-slp.cc (vect_slp_gather_vectorized_scalar_stmts): Remove.
(vect_bb_slp_scalar_cost): Simplify by using SLP_TREE_TYPE and
a use-def walk of the scalar stmts SSA uses.
(vect_bb_vectorization_profitable_p): Simplify.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (vec_slp_has_scalar_use): Remove.
(vect_bb_slp_mark_live_stmts): Simplify.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (vect_slp_analyze_bb_1): Split out pure_slp
marking into ...
(vect_bb_slp_mark_stmts_vectorized): ... new function. Compute
full scalar stmt coverage of the SLP graph.
(vect_slp_gather_extern_scalar_stmts): New helper.
(vect_bb_slp_mark_live_stmts): Adjust.
* tree-vect-loop.cc (vectorizable_live_operation): Likewise.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (struct slp_oprnds): New.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (vect_slp_analyze_operations): Move
vect_bb_slp_mark_live_stmts call ...
(vect_slp_analyze_bb_1): ... here. Move SLP stmt marking
right before it.
(vect_mark_slp_stmts): Remove unused overload.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (vect_slp_child_index_for_operand): Get
a stmt_vec_info, elide gather-scatter flag.
* tree-vect-stmts.cc (vect_check_store_rhs): Adjust.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
* tree-vect-slp.cc (vect_get_operand_map): New overload
with a stmt_vec_info argument.
(vect_slp_child_index_for_operand): Adjust.
(vect_get_and_check_slp_defs): Likewise.
(compatible_calls_p): Likewise.
(vect_build_slp_tree_2): Likewise.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-slp.cc (vect_get_operand_map): Put operand map
data here. Handle VIEW_CONVERT_EXPR, use else if, factor
out assertion.
(vect_get_and_check_slp_defs): Remove explicit VIEW_CONVERT_EXPR
handling here.
2026-04-28 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.cc (construct_container): Remove redundant
early call to classify_argument. Recompute the classification
only when needed and assert that it succeeds.
(examine_argument): Change in_return parameter type to bool.
(function_arg_advance_64): Update call to examine_argument.
(function_arg_64): Update call to construct_container.
(function_value_64): Likewise.
(ix86_return_in_memory): Update call to examine_argument.
(ix86_gimplify_va_arg): Update calls to construct_container
and examine_argument.
2026-04-28 Bohan Lei <garthlei@linux.alibaba.com>
* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Specify -mcpu
instead of -march when --with-cpu is used.
2026-04-28 Bohan Lei <garthlei@linux.alibaba.com>
* simplify-rtx.cc (simplify_context::simplify_relational_operation_1):
Add simplifications for `(cmp (and/ior x C1) C2)`.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-loop.cc (vect_estimate_min_profitable_iters):
Add comment about costing of prologue/epilogue.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-loop.cc (vect_get_known_peeling_cost): Use
scalar_costs instead of guesstimating it.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
Record stmt cost to vect_body.
2026-04-28 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (vect_get_known_peeling_cost): Simplify API.
* tree-vect-loop.cc (vect_get_known_peeling_cost): Avoid
all the overhead of record_stmt_cost as we only are interested
in the overall sum of the included builtin_vectorization_cost
calls.
* tree-vect-data-refs.cc (vect_peeling_hash_get_lowest_cost):
Adjust.
(vect_enhance_data_refs_alignment): Likewise.
2026-04-28 Netanel Komm <netanelkomm@gmail.com>
PR tree-optimization/112659
PR tree-optimization/122996
* match.pd: Extend conditional addition pattern to handle
a third constant and uniform vectors.
2026-04-28 Monk Chiang <monk.chiang@sifive.com>
* config/riscv/riscv.md (length attribute): Check CROSSING_JUMP_P
for jump instructions and use length 8 for crossing jumps.
(jump): Update comment to explain when long form is used.
2026-04-28 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/125039
* range-op-float.cc (operator_not_equal::fold_range): Call
empty_range_varying when not calling frelop_early_resolve.
2026-04-28 Jakub Jelinek <jakub@redhat.com>
* tree.cc (build_bitint_type): Allow build_bitint_type (1, 0).
(signed_or_unsigned_type_for): Call that for !unsignedp case
of BITINT_TYPE with bits 1.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
PR tree-optimization/125036
* tree-ssa-loop-ivopts.cc (add_iv_candidate_for_doloop): Don't
assert on niniter being integer type. Convert to a full mode
integer type if non integer or non-full mode integer type.
2026-04-27 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR tree-optimization/57650

View File

@@ -1 +1 @@
20260428
20260429

View File

@@ -1,3 +1,266 @@
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR analyzer/124217
* analyzer.opt (Wanalyzer-div-by-zero): New.
* analyzer.opt.urls: Regenerate.
* region-model.cc (class div_by_zero_diagnostic): New.
(region_model::get_gassign_result): Add warning for division by
zero if ctxt is non-null. Bail out on such cases even if ctxt
is null.
* svalue.cc (type_can_have_value_range_p): Also handle frange.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* diagnostic-manager.cc: Include "analyzer/exploded-path.h".
* engine.cc: Likewise.
(exploded_path::exploded_path): Move to exploded-path.cc.
(exploded_path::find_stmt_backwards): Likewise.
(exploded_path::get_final_enode): Likewise.
(exploded_path::feasible_p): Likewise.
(exploded_path::dump_to_pp): Likewise.
(exploded_path::dump): Likewise.
(exploded_path::dump_to_file): Likewise.
* exploded-graph.h (class exploded_path): Move to exploded-path.h.
(shortest_exploded_paths): Likewise.
* exploded-path.cc: New file, taken from the above.
* exploded-path.h: Likewise.
* feasible-graph.cc: Include "analyzer/exploded-path.h".
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* analyzer.cc (is_setjmp_call_p): Move to setjmp-longjmp.cc.
(is_longjmp_call_p): Likewise.
* engine.cc (setjmp_record::cmp): Likewise.
(setjmp_svalue::accept): Likewise.
(setjmp_svalue::dump_to_pp): Likewise.
(setjmp_svalue::print_dump_widget_label): Likewise.
(setjmp_svalue::add_dump_widget_children): Likewise.
(setjmp_svalue::get_enode_index): Likewise.
(valid_longjmp_stack_p): Likewise.
(class stale_jmp_buf): Likewise.
(exploded_node::on_longjmp): Likewise.
(rewind_info_t::update_model): Likewise.
(rewind_info_t::add_events_to_path): Likewise.
* region-model.cc (region_model::on_setjmp): Likewise.
(region_model::on_longjmp): Likewise.
* setjmp-longjmp.cc: New file, made from the above material.
* svalue.cc: Update comment.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* poisoned-value-diagnostic.cc: New file, taken from material in
region-model.cc.
* region-model.cc (class poisoned_value_diagnostic): Move to
poisoned-value-diagnostic.cc.
(class shift_count_negative_diagnostic): Move to
shift-diagnostics.cc.
(class shift_count_overflow_diagnostic): Likewise.
(region_model::get_gassign_result): Use factory functions when
creating diagnostics so that the subclasses can be moved to their
own source files.
(region_model::check_for_poison): Likewise.
(region_model::deref_rvalue): Likewise.
(class write_to_const_diagnostic): Move to
write-to-const-diagnostics.cc.
(class write_to_string_literal_diagnostic): Likewise.
(region_model::check_for_writable_region): Use factory functions
when creating diagnostics so that the subclasses can be moved to
their own source files.
* region-model.h (make_poisoned_value_diagnostic): New decl.
(make_shift_count_negative_diagnostic): New decl.
(make_shift_count_overflow_diagnostic): New decl.
(make_write_to_const_diagnostic): New decl.
(make_write_to_string_literal_diagnostic): New decl.
* shift-diagnostics.cc: New file, taken from material in
region-model.cc.
* write-to-const-diagnostics.cc: Likewise.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR analyzer/123145
* access-diagram.cc
(compound_svalue_spatial_item::compound_svalue_spatial_item):
Update for compound_svalue using concrete_binding_map rather than
binding_map.
* bounds-checking.cc (strip_types): Likewise.
* call-summary.cc
(call_summary_replay::convert_svalue_from_summary_1): Update for
reimplementation of class binding_map.
(call_summary_replay::convert_svalue_from_summary_1): Likewise.
* infinite-recursion.cc (contains_unknown_p): Update for
compound_svalue using concrete_binding_map rather than
binding_map.
* program-state.cc (sm_state_map::impl_set_state): Likewise.
* region-model-manager.cc (maybe_undo_optimize_bit_field_compare):
Likewise.
(maybe_undo_optimize_bit_field_compare): Avoid building a
concrete_binding key by using get_any_exact_binding.
(region_model_manager::get_or_create_compound_svalue): New
overload, consuming a concrete_binding_map &&.
* region-model-manager.h
(region_model_manager::get_or_create_compound_svalue): New decl
for the above.
* region-model-reachability.cc (reachable_regions::handle_sval):
Update for compound_svalue using concrete_binding_map rather than
binding_map.
(reachable_regions::handle_parm): Likewise.
* region-model.cc (region_model::scan_for_null_terminator_1): Port
from binding_map to concrete_binding_map.
(exposure_through_uninit_copy::calc_num_uninit_bits): Update for
compound_svalue using concrete_binding_map rather than
binding_map.
(contains_uninit_p): Likewise.
* region.cc (decl_region::calc_svalue_for_constructor): Port from
binding_map to concrete_binding_map.
(decl_region::get_svalue_for_initializer): Update call to
get_or_create_compound_svalue.
* store.cc (concrete_binding_map::dump_to_pp): New.
(concrete_binding_map::dump): New.
(concrete_binding_map::add_to_tree_widget): New.
(concrete_binding_map::validate): New.
(binding_map::cmp): Convert to...
(concrete_binding_map::cmp): ...this.
(concrete_binding_map::get_any_exact_binding): New.
(concrete_binding_map::calc_complexity): New.
(concrete_binding_map::remove_overlapping_binding): New.
(concrete_binding_map::remove_overlapping_bindings): New.
(concrete_binding_map::get_overlapping_bindings): New.
(binding_map::put): Update for change to m_concrete.
(binding_map::validate): Likewise.
(binding_map::apply_ctor_to_region): Convert to...
(concrete_binding_map::apply_ctor_to_region): ...this.
(binding_map::apply_ctor_val_to_range): Convert to...
(concrete_binding_map::apply_ctor_val_to_range): ...this.
(binding_map::apply_ctor_pair_to_child_region): Convert to...
(concrete_binding_map::apply_ctor_pair_to_child_region): ...this.
(binding_map::remove_overlapping_bindings): Move part of
implementation to
concrete_binding_map::remove_overlapping_binding.
(binding_cluster::bind_compound_sval): Simplify using
concrete_binding_map.
(binding_cluster::maybe_get_compound_binding): Likewise.
(store::replay_call_summary_cluster): Update for change
to compound_svalue.
* store.h: Include "analyzer/complexity.h".
(class concrete_binding_map): New, based on
binding_map::concrete_bindings_t.
(binding_map::concrete_bindings_t): Use concrete_binding_map.
(binding_map::empty_p): Update for above.
(binding_map::apply_ctor_to_region): Drop decl.
(binding_map::cmp): Likewise.
(binding_map::apply_ctor_val_to_range): Likewise.
(binding_map::apply_ctor_pair_to_child_region): Likewise.
* svalue.cc (svalue::cmp_ptr): Update for change to
compound_svalue.
(compound_svalue::compound_svalue): Port from binding_map to
concrete_binding_map.
(compound_svalue::accept): Likewise.
(compound_svalue::calc_complexity): Drop.
(compound_svalue::maybe_fold_bits_within): Port from binding_map
to concrete_binding_map.
* svalue.h (class compound_svalue): Update leading comment. Port
from binding_map to concrete_binding_map.
2026-04-28 Virginia Kodsy <virginiahany9@gmail.com>
* kf.cc (class kf_strcasecmp): New.
(kf_strcasecmp::impl_call_post): New.
(register_known_functions): Register BUILT_IN_STRCASECMP,
"strcasecmp", and "__builtin_strcasecmp".
2026-04-28 Ridham Khurana <khurana.ridham222@gmail.com>
* kf.cc (class kf_getenv): New.
(kf_getenv::impl_call_post): New.
(register_known_functions): Register kf_getenv.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* kf.cc (class kf_mktemp_family): Add nested outcome enum,
constructor, and nested failure and success classes.
(kf_mktemp_family::check_template_with_suffixlen_arg): Remove.
(kf_mktemp_family::check_template): Remove. Both replaced
by...
(kf_mktemp_family::check_for_string_literal_arg): ...this.
(kf_mktemp_family::get_trailing_len): New.
(kf_mktemp_family::impl_call_post): New.
(class kf_mktemp_simple): Add constructor taking outcome.
Replace check_template with check_for_string_literal_arg.
Remove set_any_lhs_with_defaults call.
(class kf_mkostemp): Add constructor. Replace check_template
with check_for_string_literal_arg. Remove
set_any_lhs_with_defaults call.
(class kf_mkostemps): Likewise.
(class kf_mkstemps): Likewise.
(register_known_functions): Pass outcome to kf_mktemp_simple
instantiations.
* region-model.cc (region_model::update_for_null_return): New.
* region-model.h (class region_model): Add
update_for_null_return.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* analyzer-language.cc (stash_named_constants): Stash O_CREAT,
O_EXCL, and O_RDWR for use by kf.cc.
* analyzer.opt: Rename -Wanalyzer-mkstemp-missing-suffix to
-Wanalyzer-mktemp-missing-placeholder and
-Wanalyzer-mkstemp-of-string-literal to
-Wanalyzer-mktemp-of-string-literal. Add
-Wanalyzer-mkostemp-redundant-flags. Fix alphabetical ordering.
* analyzer.opt.urls: Regenerate.
* kf.cc (class mkstemp_of_string_literal): Rename to...
(class mktemp_of_string_literal): ...this.
(class mkstemp_missing_suffix): Rename to...
(class mktemp_missing_placeholder): ...this. Add trailing_len
parameter for suffixed variants.
(class mkostemp_redundant_flags): New diagnostic class.
(class kf_mktemp_family): New base class with shared template
and flags checking logic.
(kf_mktemp_family::check_template_with_suffixlen_arg): New.
(kf_mktemp_family::check_template): New.
(kf_mktemp_family::check_flags): New.
(kf_mktemp_family::check_placeholder): New.
(class kf_mkstemp): Rename to...
(class kf_mktemp_simple): ...this. Generalize to handle mktemp,
mkstemp, and mkdtemp.
(class kf_mkostemp): New known_function handler.
(class kf_mkostemps): New known_function handler.
(class kf_mkstemps): New known_function handler.
(register_known_functions): Register all mktemp family handlers.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* analyzer.opt: Add -Wanalyzer-mkstemp-missing-suffix and
-Wanalyzer-mkstemp-of-string-literal.
* analyzer.opt.urls: Add URL entries for the new warnings.
* kf.cc (class mkstemp_of_string_literal): New diagnostic class
for mkstemp called on a string literal.
(class mkstemp_missing_suffix): New diagnostic class for mkstemp
called with a template missing the "XXXXXX" suffix.
(class kf_mkstemp): New known_function handler for mkstemp.
(register_known_functions): Register kf_mkstemp.
2026-04-28 Saksham Gupta <io.sakshamgupta@gmail.com>
* kf.cc (class kf_atoi_family): New class.
(register_known_functions): Register atoi, atol, and atoll.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* access-diagram.cc
(access_diagram_impl::add_aligned_child_table): Use
std::make_unique rather than "new".
(access_diagram_impl::add_valid_vs_invalid_ruler): Likewise.
* checker-path.h (checker_path::replace_event): Use
std::unique_ptr.
* diagnostic-manager.cc
(diagnostic_manager::consolidate_conditions): Use std::make_unique
rather than "new".
* feasible-graph.cc (feasible_graph::make_epath): Likewise.
2026-04-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
* engine.cc (impl_region_model_context::on_unexpected_tree_code): Print

View File

@@ -1,3 +1,13 @@
2026-04-28 Jakub Jelinek <jakub@redhat.com>
* c-common.cc (c_common_signed_or_unsigned_type): Use
build_bitint_type for TREE_CODE (type) == BITINT_TYPE whenever
flag_isoc2y even when precision is 1.
(c_common_get_alias_set): Don't special case BITINT_TYPE
with precision 1 for flag_isoc2y.
* c-lex.cc (interpret_integer): Use _BitInt(1) type for 0wb
if flag_isoc2y, rather than _BitInt(2).
2026-04-22 Jakub Jelinek <jakub@redhat.com>
* c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_impl_reflection value

View File

@@ -1,3 +1,9 @@
2026-04-28 Jakub Jelinek <jakub@redhat.com>
* c-decl.cc (finish_declspecs) <case cts_bitint>: Implement
C2Y N3747 - Integer Sets, v5. Allow signed _BitInt(1) for
flag_isoc2y.
2026-04-25 Martin Uecker <uecker@tugraz.at>
PR c/124303

View File

@@ -1,3 +1,22 @@
2026-04-28 Marek Polacek <polacek@redhat.com>
PR c++/124756
* reflect.cc (get_reflection): Give an error when taking the
reflection of a block-scope extern.
2026-04-28 Marek Polacek <polacek@redhat.com>
* error.cc (inform_tree_category): Also print concept and alias
template.
* pt.cc (tsubst_splice_scope): Reword the diagnostic messages.
Call inform_tree_category.
2026-04-28 Jason Merrill <jason@redhat.com>
PR c++/125022
* decl.cc (store_parm_decls): Only do trivial_abi stuff when
!processing_template_decl.
2026-04-27 Patrick Palka <ppalka@redhat.com>
PR c++/124978

View File

@@ -1,3 +1,255 @@
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR analyzer/124217
* c-c++-common/analyzer/divide-by-zero-1.c: Update to expect
-Wanalyzer-div-by-zero.
* c-c++-common/analyzer/divide-by-zero-pr124195-2.c: Likewise.
* gcc.dg/analyzer/data-model-1.c (test_21): Split out division by
zero cases into...
(test_21_division_by_zero): ...this, and...
(test_21_modulus_by_zero): ...this, updating these to expect
-Wanalyzer-div-by-zero warnings.
* gcc.dg/analyzer/divide-by-zero-float.c: New test.
* gcc.dg/analyzer/divide-by-zero-ice-pr124433.c: Update to expect
-Wanalyzer-div-by-zero.
* gcc.dg/analyzer/divide-by-zero-pr124195-1.c: Likewise.
2026-04-28 Virginia Kodsy <virginiahany9@gmail.com>
* gcc.dg/analyzer/strcasecmp-1.c: New test.
2026-04-28 Ridham Khurana <khurana.ridham222@gmail.com>
* gcc.dg/analyzer/getenv-1.c (test_passthrough): New test.
2026-04-28 Ridham Khurana <khurana.ridham222@gmail.com>
* gcc.dg/analyzer/getenv-1.c: New test.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* gcc.dg/analyzer/mkdtemp-1.c: Add tests for errno on
success/failure, non-null return identity, and no-lhs call.
* gcc.dg/analyzer/mkostemp-1.c: Prune fd leak warnings.
* gcc.dg/analyzer/mkostemps-1.c: Likewise.
* gcc.dg/analyzer/mkstemp-1.c: Likewise.
* gcc.dg/analyzer/mkstemps-1.c: Likewise.
* gcc.dg/analyzer/mktemp-1.c: Add errno, failure, and success
path tests.
* gcc.dg/analyzer/fd-mktemp-family.c: New test.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* gcc.dg/analyzer/mkstemp-1.c: Update terminology from "suffix"
to "placeholder".
* gcc.dg/analyzer/mkdtemp-1.c: New test.
* gcc.dg/analyzer/mkostemp-1.c: New test.
* gcc.dg/analyzer/mkostemps-1.c: New test.
* gcc.dg/analyzer/mkstemps-1.c: New test.
* gcc.dg/analyzer/mktemp-1.c: New test.
2026-04-28 Tomás Ortín Fernández <quanrong@mailbox.org>
PR analyzer/105890
* gcc.dg/analyzer/mkstemp-1.c: New test.
2026-04-28 Saksham Gupta <io.sakshamgupta@gmail.com>
* gcc.dg/analyzer/atoi-1.c: Update test coverage.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
PR sarif-replay/123056
* sarif-replay.dg/2.1.0-invalid/3.10.3-bad-json-pointer.sarif: New
test.
* sarif-replay.dg/2.1.0-valid/embedded-links-pr123056-check-sarif-roundtrip.py
(test_roundtrip_of_url_in_generated_sarif): Update expected
result, to expect the URL for the event.
2026-04-28 David Malcolm <dmalcolm@redhat.com>
* selftests/json-pointer.json: New support file, taken directly
from RFC 6901.
2026-04-28 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR target/124760
* gcc.target/riscv/pr124760.c: New test.
2026-04-28 Marek Polacek <polacek@redhat.com>
PR c++/124756
* g++.dg/reflect/identifier_of3.C: Add dg-error.
* g++.dg/reflect/pr123612.C: Likewise.
* g++.dg/reflect/error13.C: New test.
2026-04-28 Marek Polacek <polacek@redhat.com>
* g++.dg/reflect/ns5.C: Adjust expected diagnostics.
* g++.dg/reflect/type9.C: Likewise.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
PR tree-optimization/116823
* g++.dg/tree-ssa/phiprop-1.C: New test.
2026-04-28 Jiawei <jiawei@iscas.ac.cn>
Edwin Lu <ewlu@rivosinc.com>
* gcc.target/riscv/amo/a-rvwmo-fence.c: Disable zalasr from -march.
* gcc.target/riscv/amo/a-rvwmo-load-acquire.c: Ditto.
* gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: Ditto.
* gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: Ditto.
* gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: Ditto.
* gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: Ditto.
* gcc.target/riscv/amo/a-rvwmo-store-release.c: Ditto.
* gcc.target/riscv/amo/a-ztso-fence.c: Ditto.
* gcc.target/riscv/amo/a-ztso-load-acquire.c: Ditto.
* gcc.target/riscv/amo/a-ztso-load-relaxed.c: Ditto.
* gcc.target/riscv/amo/a-ztso-load-seq-cst.c: Ditto.
* gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: Ditto.
* gcc.target/riscv/amo/a-ztso-store-relaxed.c: Ditto.
* gcc.target/riscv/amo/a-ztso-store-release.c: Ditto.
* gcc.target/riscv/amo/zaamo-preferred-over-zalrsc.c: Ditto.
* gcc.target/riscv/amo/zaamo-rvwmo-amo-add-int.c: Ditto.
* gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: Ditto.
* gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: Ditto.
* gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: Ditto.
* gcc.target/riscv/amo/zabha-rvwmo-amo-add-char.c: Ditto.
* gcc.target/riscv/amo/zabha-rvwmo-amo-add-short.c: Ditto.
* gcc.target/riscv/amo/zabha-zacas-atomic-cas.c: Ditto.
* gcc.target/riscv/amo/zabha-zacas-preferred-over-zalrsc.c: Ditto.
* gcc.target/riscv/amo/zabha-ztso-amo-add-char.c: Ditto.
* gcc.target/riscv/amo/zabha-ztso-amo-add-short.c: Ditto.
* gcc.target/riscv/amo/zacas-char-requires-zabha.c: Ditto.
* gcc.target/riscv/amo/zacas-char-requires-zacas.c: Ditto.
* gcc.target/riscv/amo/zacas-preferred-over-zalrsc.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acq-rel.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acquire.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-relaxed.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-release.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping-no-fence.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping.cc: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acq-rel.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acquire.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-relaxed.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-release.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acq-rel.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acquire.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-relaxed.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-release.c: Ditto.
* gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-amo-add-int.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-amo-add-int.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto.
* gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto.
* lib/target-supports.exp: Add zalasr checks.
* gcc.target/riscv/amo/zalasr-rvwmo-load-acquire.c: New test.
* gcc.target/riscv/amo/zalasr-rvwmo-load-relaxed.c: New test.
* gcc.target/riscv/amo/zalasr-rvwmo-load-seq-cst.c: New test.
* gcc.target/riscv/amo/zalasr-rvwmo-store-compat-seq-cst.c: New test.
* gcc.target/riscv/amo/zalasr-rvwmo-store-relaxed.c: New test.
* gcc.target/riscv/amo/zalasr-rvwmo-store-release.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-load-acquire.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-load-relaxed.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-load-seq-cst.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-store-compat-seq-cst.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-store-relaxed.c: New test.
* gcc.target/riscv/amo/zalasr-ztso-store-release.c: New test.
Co-Authored-by: Edwin Lu <ewlu@rivosinc.com>
2026-04-28 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR tree-optimization/94892
* gcc.target/riscv/pr94892.c: New test.
2026-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
* g++.dg/cpp26/type-order1.C: Add tests for more type.
2026-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/124222
* gcc.dg/vect/costmodel/x86_64/costmodel-pr124222.c: New testcase.
2026-04-28 Bohan Lei <garthlei@linux.alibaba.com>
* gcc.target/i386/pr113609-1.c: Change assembly check after
optimization.
* gcc.target/riscv/zbs-if_then_else-02.c: New test.
2026-04-28 Netanel Komm <netanelkomm@gmail.com>
PR tree-optimization/112659
PR tree-optimization/122996
* g++.dg/tree-ssa/cond-add-vec-1.C: New test (positive cases).
* g++.dg/tree-ssa/cond-add-vec-2.C: New test (negative cases).
* gcc.dg/tree-ssa/cond-add-1.c: New test (positive cases).
* gcc.dg/tree-ssa/cond-add-2.c: New test (negative cases).
2026-04-28 Monk Chiang <monk.chiang@sifive.com>
* gcc.target/riscv/pr-crossing-jump-1.c: New test.
* gcc.target/riscv/pr-crossing-jump-2.c: New test.
* gcc.target/riscv/pr-crossing-jump-3.c: New test.
2026-04-28 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/125039
* gcc.c-torture/compile/pr125039.c: New test.
2026-04-28 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/torture/bitint-96.c: New test.
* gcc.dg/torture/bitint-97.c: New test.
* gcc.dg/torture/bitint-98.c: New test.
* gcc.dg/bitint-130.c: New test.
* gcc.dg/bitint-131.c: New test.
* gcc.dg/bitint-132.c: New test.
2026-04-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
PR tree-optimization/125036
* gcc.dg/torture/pr125036-1.c: New test.
2026-04-28 Jason Merrill <jason@redhat.com>
PR c++/125022
* g++.dg/cpp0x/attr-trivial_abi7.C: New test.
2026-04-27 Jeff Law <jeffrey.law@oss.qualcomm.com>
PR tree-optimization/57650

View File

@@ -1,3 +1,8 @@
2026-04-28 Tobias Burnus <tburnus@baylibre.com>
* testsuite/libgomp.fortran/map-subarray-6.f90: Fix, extend, and
robustify.
2026-04-17 Thomas Schwinge <tschwinge@baylibre.com>
* testsuite/libgomp.c/declare-variant-3-sm50.c: New.

View File

@@ -1,3 +1,7 @@
2026-04-28 Maximilian Ciric <max.ciric@gmail.com>
* configure.tgt: Enable HWASAN support for RISC-V target.
2026-04-21 Marian Buschsieweke <maribu@users.noreply.github.com>
PR sanitizer/124248

View File

@@ -1,3 +1,26 @@
2026-04-28 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2023.xml: Update status table.
* doc/html/manual/status.html: Regenerate.
2026-04-28 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/using.xml (Flags): Update description of
default value for -std option.
* doc/html/manual/using.html: Regenerate.
2026-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
* include/bits/ptr_traits.h (__ptr_traits_ptr_to::pointer_to):
Define as constexpr since C++20.
* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
New test for custom pointer-like type.
2026-04-28 Tomasz Kamiński <tkaminsk@redhat.com>
* testsuite/18_support/comparisons/type_order/1.cc: Add tests
for more type.
2026-04-27 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/125024