+2024-10-12 Feng Xue <fxue@os.amperecomputing.com>
+
+ * MAINTAINERS: Add myself to write after approval.
+
2024-10-04 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
* MAINTAINERS: Add myself to write after approval.
+2024-10-12 Feng Xue <fxue@os.amperecomputing.com>
+
+ PR tree-optimization/116985
+ * tree-vect-loop.cc (vect_transform_reduction): Compute loop mask
+ index based on effective vector copies for reduction op.
+
+2024-10-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117104
+ * match.pd ((cmp:c (minmax:c @0 @1) @0) -> (out @0 @1)): Properly
+ guard the vector case.
+
+2024-10-12 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/constraints.md (P): New constraint.
+ * config/riscv/vector.md (pred_broadcast<mode> expander): Do
+ not force small integers into GPRs so aggressively.
+ (pred_broadcast<mode> insn & splitter): Allow splatting small
+ constants across the vector register directly. Allow splatting
+ (const_int 0) into element 0 directly.
+
+2024-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (LINKER_FOR_BUILD): Append -no-pie if it is in
+ $(LD_PICFLAG) when building build/genmatch.
+
+2024-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (generated_files): Remove {gimple,generic}-match*.
+ (generated_match_files): New variable. Add a dependency of
+ $(filter-out $(OBJS-libcommon),$(ALL_HOST_OBJS)) files on those.
+ (build/genmatch$(build_exeext)): Depend on and link against
+ libcommon.a and $(LIBBACKTRACE).
+ * genmatch.cc: Include pretty-print.h and input.h.
+ (ggc_internal_cleared_alloc, ggc_free): Remove.
+ (fatal): New function.
+ (line_table): Remove.
+ (linemap_client_expand_location_to_spelling_point): Remove.
+ (diagnostic_cb): Use gcc_diag rather than printf format. Use
+ pp_format_verbatim on a temporary pretty_printer instead of
+ vfprintf.
+ (fatal_at, warning_at): Use gcc_diag rather than printf format.
+ (output_line_directive): Rename location_hash to loc_hash.
+ (parser::eat_ident, parser::parse_operation, parser::parse_expr,
+ parser::parse_pattern, parser::finish_match_operand): Fix up
+ -Wformat-diag warnings.
+
+2024-10-12 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/autovec.md (sssub<mode>3): Add new pattern for
+ signed SAT_SUB.
+ * config/riscv/riscv-protos.h (expand_vec_sssub): Add new func
+ decl to expand sssub to vssub.
+ * config/riscv/riscv-v.cc (expand_vec_sssub): Add new func
+ impl to expand sssub to vssub.
+
+2024-10-12 Pan Li <pan2.li@intel.com>
+
+ * tree-vect-patterns.cc (gimple_signed_integer_sat_sub): Add new
+ func decl for signed SAT_SUB.
+ (vect_recog_sat_sub_pattern_transform): Update comments.
+ (vect_recog_sat_sub_pattern): Try the vector signed SAT_SUB
+ pattern.
+
+2024-10-12 Pan Li <pan2.li@intel.com>
+
+ * match.pd: Add case 1 matching pattern for vector signed SAT_SUB.
+
2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com>
PR target/117048
+2024-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * c-lex.cc (c_common_has_attribute,
+ c_common_lex_availability_macro): Fix up -Wformat-diag warnings.
+
2024-10-09 Jason Merrill <jason@redhat.com>
* c-ppoutput.cc (preprocess_file): Set directives_only flag.
+2024-10-12 Simon Martin <simon@nasilyan.com>
+
+ PR c++/109918
+ * class.cc (warn_hidden): Keep track of overloaded and of hidden
+ base methods. Mention the actual hiding function in the warning,
+ not the first overload.
+ * error.cc (location_of): Skip over conv_op_marker.
+
2024-10-07 Jason Merrill <jason@redhat.com>
* decl.cc (duplicate_decls): Only check PURVIEW_P if
+2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-parse-tree.cc (get_c_type_name): Also handle BT_UNSIGNED.
+ * gfortran.h (NAMED_UINTCST): Define before inclusion
+ of iso-c-binding.def and iso-fortran-env.def.
+ (gfc_get_uint_kind_from_width_isofortranenv): Prototype.
+ * gfortran.texi: Mention new constants in iso_c_binding and
+ iso_fortran_env.
+ * iso-c-binding.def: Handle NAMED_UINTCST. Add c_unsigned,
+ c_unsigned_short,c_unsigned_char, c_unsigned_long,
+ c_unsigned_long_long, c_uintmax_t, c_uint8_t, c_uint16_t,
+ c_uint32_t, c_uint64_t, c_uint128_t, c_uint_least8_t,
+ c_uint_least16_t, c_uint_least32_t, c_uint_least64_t,
+ c_uint_least128_t, c_uint_fast8_t, c_uint_fast16_t,
+ c_uint_fast32_t, c_uint_fast64_t and c_uint_fast128_t.
+ * iso-fortran-env.def: Handle NAMED_UINTCST. Add uint8, uint16,
+ uint32 and uint64.
+ * module.cc (parse_integer): Whitespace fix.
+ (write_module): Whitespace fix.
+ (NAMED_UINTCST): Define before inclusion of iso-fortran-evn.def
+ and iso-fortran-env.def.
+ * symbol.cc: Likewise.
+ * trans-types.cc (get_unsigned_kind_from_node): New function.
+ (get_uint_kind_from_name): New function.
+ (gfc_get_uint_kind_from_width_isofortranenv): New function.
+ (get_uint_kind_from_width): New function.
+ (gfc_init_kinds): Initialize gfc_c_uint_kind.
+
+2024-10-12 Tobias Burnus <tburnus@baylibre.com>
+
+ * openmp.cc (resolve_omp_clauses): Diagnose polymorphic mapping.
+ * trans-openmp.cc (gfc_omp_finish_clause): Warn when
+ polymorphic variable is implicitly mapped.
+
+2024-10-12 Tobias Burnus <tburnus@baylibre.com>
+
+ * array.cc (gfc_match_array_constructor): Only update the
+ character length if the expression is of character type.
+ * error.cc (gfc_get_location_with_offset): New; split off
+ from ...
+ (gfc_format_decoder): ... here; call it.
+ * gfortran.h (gfc_get_location_with_offset): New prototype.
+ (gfc_get_location): New inline function.
+ * trans.cc (gfc_get_location): Remove function definition.
+ * trans.h (gfc_get_location): Remove declaration.
+
2024-10-11 Thomas Koenig <tkoenig@gcc.gnu.org>
* intrinsic.cc (add_functions): Convert uint and
+2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/unsigned_36.f90: New test.
+
+2024-10-12 Feng Xue <fxue@os.amperecomputing.com>
+
+ PR tree-optimization/116985
+ * gcc.dg/vect/pr116985.c: New testcase.
+
+2024-10-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117104
+ * gcc.dg/pr117104.c: New testcase.
+
+2024-10-12 Tobias Burnus <tburnus@baylibre.com>
+
+ * gfortran.dg/gomp/polymorphic-mapping.f90: New test.
+ * gfortran.dg/gomp/polymorphic-mapping-2.f90: New test.
+
+2024-10-12 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/i386/pr55583.c: Use long long for 64-bit integer.
+
+2024-10-12 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/i386/pr115749.c (uword): New.
+ (func): Replace unsigned long with uword.
+
+2024-10-12 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/i386/invariant-ternlog-1.c: Also scan (%edx).
+
+2024-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/cpp/counter-2.c: Adjust expected diagnostics for
+ libcpp diagnostic formatting changes.
+ * c-c++-common/cpp/embed-3.c: Likewise.
+ * c-c++-common/cpp/embed-4.c: Likewise.
+ * c-c++-common/cpp/embed-16.c: Likewise.
+ * c-c++-common/cpp/embed-18.c: Likewise.
+ * c-c++-common/cpp/eof-2.c: Likewise.
+ * c-c++-common/cpp/eof-3.c: Likewise.
+ * c-c++-common/cpp/fmax-include-depth.c: Likewise.
+ * c-c++-common/cpp/has-builtin.c: Likewise.
+ * c-c++-common/cpp/line-2.c: Likewise.
+ * c-c++-common/cpp/line-3.c: Likewise.
+ * c-c++-common/cpp/macro-arg-count-1.c: Likewise.
+ * c-c++-common/cpp/macro-arg-count-2.c: Likewise.
+ * c-c++-common/cpp/macro-ranges.c: Likewise.
+ * c-c++-common/cpp/named-universal-char-escape-4.c: Likewise.
+ * c-c++-common/cpp/named-universal-char-escape-5.c: Likewise.
+ * c-c++-common/cpp/pr88974.c: Likewise.
+ * c-c++-common/cpp/va-opt-error.c: Likewise.
+ * c-c++-common/cpp/va-opt-pedantic.c: Likewise.
+ * c-c++-common/cpp/Wheader-guard-2.c: Likewise.
+ * c-c++-common/cpp/Wheader-guard-3.c: Likewise.
+ * c-c++-common/cpp/Winvalid-utf8-1.c: Likewise.
+ * c-c++-common/cpp/Winvalid-utf8-2.c: Likewise.
+ * c-c++-common/cpp/Winvalid-utf8-3.c: Likewise.
+ * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c:
+ Likewise.
+ * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c:
+ Likewise.
+ * c-c++-common/pr68833-3.c: Likewise.
+ * c-c++-common/raw-string-directive-1.c: Likewise.
+ * gcc.dg/analyzer/named-constants-Wunused-macros.c: Likewise.
+ * gcc.dg/binary-constants-4.c: Likewise.
+ * gcc.dg/builtin-redefine.c: Likewise.
+ * gcc.dg/cpp/19951025-1.c: Likewise.
+ * gcc.dg/cpp/c11-warning-1.c: Likewise.
+ * gcc.dg/cpp/c11-warning-2.c: Likewise.
+ * gcc.dg/cpp/c11-warning-3.c: Likewise.
+ * gcc.dg/cpp/c23-elifdef-2.c: Likewise.
+ * gcc.dg/cpp/c23-warning-2.c: Likewise.
+ * gcc.dg/cpp/embed-2.c: Likewise.
+ * gcc.dg/cpp/embed-3.c: Likewise.
+ * gcc.dg/cpp/embed-4.c: Likewise.
+ * gcc.dg/cpp/expr.c: Likewise.
+ * gcc.dg/cpp/gnu11-elifdef-2.c: Likewise.
+ * gcc.dg/cpp/gnu11-elifdef-3.c: Likewise.
+ * gcc.dg/cpp/gnu11-elifdef-4.c: Likewise.
+ * gcc.dg/cpp/gnu11-warning-1.c: Likewise.
+ * gcc.dg/cpp/gnu11-warning-2.c: Likewise.
+ * gcc.dg/cpp/gnu11-warning-3.c: Likewise.
+ * gcc.dg/cpp/gnu23-warning-2.c: Likewise.
+ * gcc.dg/cpp/include6.c: Likewise.
+ * gcc.dg/cpp/pr35322.c: Likewise.
+ * gcc.dg/cpp/tr-warn6.c: Likewise.
+ * gcc.dg/cpp/undef2.c: Likewise.
+ * gcc.dg/cpp/warn-comments.c: Likewise.
+ * gcc.dg/cpp/warn-comments-2.c: Likewise.
+ * gcc.dg/cpp/warn-comments-3.c: Likewise.
+ * gcc.dg/cpp/warn-cxx-compat.c: Likewise.
+ * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise.
+ * gcc.dg/cpp/warn-deprecated.c: Likewise.
+ * gcc.dg/cpp/warn-deprecated-2.c: Likewise.
+ * gcc.dg/cpp/warn-long-long.c: Likewise.
+ * gcc.dg/cpp/warn-long-long-2.c: Likewise.
+ * gcc.dg/cpp/warn-normalized-1.c: Likewise.
+ * gcc.dg/cpp/warn-normalized-2.c: Likewise.
+ * gcc.dg/cpp/warn-normalized-3.c: Likewise.
+ * gcc.dg/cpp/warn-normalized-4-bytes.c: Likewise.
+ * gcc.dg/cpp/warn-normalized-4-unicode.c: Likewise.
+ * gcc.dg/cpp/warn-redefined.c: Likewise.
+ * gcc.dg/cpp/warn-redefined-2.c: Likewise.
+ * gcc.dg/cpp/warn-traditional.c: Likewise.
+ * gcc.dg/cpp/warn-traditional-2.c: Likewise.
+ * gcc.dg/cpp/warn-trigraphs-1.c: Likewise.
+ * gcc.dg/cpp/warn-trigraphs-2.c: Likewise.
+ * gcc.dg/cpp/warn-trigraphs-3.c: Likewise.
+ * gcc.dg/cpp/warn-trigraphs-4.c: Likewise.
+ * gcc.dg/cpp/warn-undef.c: Likewise.
+ * gcc.dg/cpp/warn-undef-2.c: Likewise.
+ * gcc.dg/cpp/warn-unused-macros.c: Likewise.
+ * gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
+ * gcc.dg/pch/counter-2.c: Likewise.
+ * g++.dg/cpp0x/udlit-error1.C: Likewise.
+ * g++.dg/cpp23/named-universal-char-escape1.C: Likewise.
+ * g++.dg/cpp23/named-universal-char-escape2.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-1.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-2.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-3.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-4.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-5.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-6.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-7.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-8.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-9.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-10.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-11.C: Likewise.
+ * g++.dg/cpp23/Winvalid-utf8-12.C: Likewise.
+ * g++.dg/cpp/elifdef-3.C: Likewise.
+ * g++.dg/cpp/elifdef-5.C: Likewise.
+ * g++.dg/cpp/elifdef-6.C: Likewise.
+ * g++.dg/cpp/elifdef-7.C: Likewise.
+ * g++.dg/cpp/embed-1.C: Likewise.
+ * g++.dg/cpp/embed-2.C: Likewise.
+ * g++.dg/cpp/pedantic-errors.C: Likewise.
+ * g++.dg/cpp/warning-1.C: Likewise.
+ * g++.dg/cpp/warning-2.C: Likewise.
+ * g++.dg/ext/bitint1.C: Likewise.
+ * g++.dg/ext/bitint2.C: Likewise.
+
+2024-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/112600
+ * gcc.target/i386/pr112600-4a.c: New test.
+ * gcc.target/i386/pr112600-4b.c: New test.
+
+2024-10-12 Simon Martin <simon@nasilyan.com>
+
+ PR c++/109918
+ * g++.dg/warn/Woverloaded-virt1.C: Check that no warning is
+ emitted for non virtual base methods.
+ * g++.dg/warn/Woverloaded-virt5.C: New test.
+ * g++.dg/warn/Woverloaded-virt6.C: New test.
+ * g++.dg/warn/Woverloaded-virt7.C: New test.
+ * g++.dg/warn/Woverloaded-virt8.C: New test.
+ * g++.dg/warn/Woverloaded-virt9.C: New test.
+
+2024-10-12 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test
+ data for run test.
+ * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper
+ macros.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i16.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i32.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i64.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i8.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i16.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i32.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i64.c: New test.
+ * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i8.c: New test.
+
2024-10-11 H.J. Lu <hjl.tools@gmail.com>
* gcc.target/i386/bmi2-pr112526.c: Replace long with long long.
+2024-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * include/cpplib.h (ATTRIBUTE_CPP_PPDIAG): Define.
+ (struct cpp_callbacks): Use ATTRIBUTE_CPP_PPDIAG instead of
+ ATTRIBUTE_FPTR_PRINTF on diagnostic callback.
+ (cpp_error, cpp_warning, cpp_pedwarning, cpp_warning_syshdr): Use
+ ATTRIBUTE_CPP_PPDIAG (3, 4) instead of ATTRIBUTE_PRINTF_3.
+ (cpp_warning_at, cpp_pedwarning_at): Use ATTRIBUTE_CPP_PPDIAG (4, 5)
+ instead of ATTRIBUTE_PRINTF_4.
+ (cpp_error_with_line, cpp_warning_with_line, cpp_pedwarning_with_line,
+ cpp_warning_with_line_syshdr): Use ATTRIBUTE_CPP_PPDIAG (5, 6)
+ instead of ATTRIBUTE_PRINTF_5.
+ (cpp_error_at): Use ATTRIBUTE_CPP_PPDIAG (4, 5) instead of
+ ATTRIBUTE_PRINTF_4.
+ * Makefile.in (po/$(PACKAGE).pot): Use --language=GCC-source rather
+ than --language=c.
+ * errors.cc (cpp_diagnostic_at, cpp_diagnostic,
+ cpp_diagnostic_with_line): Use ATTRIBUTE_CPP_PPDIAG instead of
+ -ATTRIBUTE_FPTR_PRINTF.
+ * charset.cc (cpp_host_to_exec_charset, _cpp_valid_ucn, convert_hex,
+ convert_oct, convert_escape): Fix up -Wformat-diag warnings.
+ (cpp_interpret_string_ranges, count_source_chars): Use
+ ATTRIBUTE_CPP_PPDIAG instead of ATTRIBUTE_FPTR_PRINTF.
+ (narrow_str_to_charconst): Fix up -Wformat-diag warnings.
+ * directives.cc (check_eol_1, directive_diagnostics, lex_macro_node,
+ do_undef, glue_header_name, parse_include, do_include_common,
+ do_include_next, _cpp_parse_embed_params, do_embed, read_flag,
+ do_line, do_linemarker, register_pragma_1, do_pragma_once,
+ do_pragma_push_macro, do_pragma_pop_macro, do_pragma_poison,
+ do_pragma_system_header, do_pragma_warning_or_error, _cpp_do__Pragma,
+ do_else, do_elif, do_endif, parse_answer, do_assert,
+ cpp_define_unused): Likewise.
+ * expr.cc (cpp_classify_number, parse_defined, eval_token,
+ _cpp_parse_expr, reduce, check_promotion): Likewise.
+ * files.cc (_cpp_find_file, finish_base64_embed,
+ _cpp_pop_file_buffer): Likewise.
+ * init.cc (sanity_checks): Likewise.
+ * lex.cc (_cpp_process_line_notes, maybe_warn_bidi_on_char,
+ _cpp_warn_invalid_utf8, _cpp_skip_block_comment,
+ warn_about_normalization, forms_identifier_p, maybe_va_opt_error,
+ identifier_diagnostics_on_lex, cpp_maybe_module_directive): Likewise.
+ * macro.cc (class vaopt_state, builtin_has_include_1,
+ builtin_has_include, builtin_has_embed, _cpp_warn_if_unused_macro,
+ _cpp_builtin_macro_text, builtin_macro, stringify_arg,
+ _cpp_arguments_ok, collect_args, enter_macro_context,
+ _cpp_save_parameter, parse_params, create_iso_definition,
+ _cpp_create_definition, check_trad_stringification): Likewise.
+ * pch.cc (cpp_valid_state): Likewise.
+ * traditional.cc (_cpp_scan_out_logical_line, recursive_macro):
+ Likewise.
+
2024-10-09 Jason Merrill <jason@redhat.com>
* macro.cc (_cpp_pop_context): Fix typo.