+2024-12-20 Alexandre Oliva <oliva@adacore.com>
+
+ PR middle-end/118007
+ * ipa-strub.cc (pass_ipa_strub::execute): Accept indirecting
+ volatile args of pointer types.
+
+2024-12-20 Alexandre Oliva <oliva@adacore.com>
+
+ PR middle-end/113506
+ * emit-rtl.cc (add_insn_before): Don't set the block of a
+ barrier.
+
+2024-12-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/118067
+ * config/i386/i386.md (*movdi_internal):
+ Disable alternatives from/to mask registers without AVX512BW.
+ (*movsi_internal): Ditto.
+
+2024-12-20 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/96342
+ * config/aarch64/aarch64-protos.h
+ (aarch64_sve_expand_vector_init_subvector): New.
+ * config/aarch64/aarch64-sve.md (vec_init<mode><Vhalf>): New.
+ (@aarch64_pack_partial<mode>): New.
+ * config/aarch64/aarch64.cc (aarch64_sve_expand_vector_init_subvector): New.
+ * config/aarch64/iterators.md (SVE_NO2E): New.
+ (VHALF, Vhalf): Add SVE partial vectors.
+
+2024-12-20 Tamar Christina <tamar.christina@arm.com>
+ Victor Do Nascimento <victor.donascimento@arm.com>
+
+ PR target/96342
+ * config/aarch64/aarch64-protos.h (add_sve_type_attribute): Declare.
+ * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute): Make
+ visibility global and support use for non_acle types.
+ * config/aarch64/aarch64.cc
+ (aarch64_simd_clone_compute_vecsize_and_simdlen): Create VLA simd clone
+ when no simdlen is provided, according to ABI rules.
+ (simd_clone_adjust_sve_vector_type): New helper function.
+ (aarch64_simd_clone_adjust): Add '+sve' attribute to SVE simd clones
+ and modify types to use SVE types.
+ * omp-simd-clone.cc (simd_clone_mangle): Print 'x' for VLA simdlen.
+ (simd_clone_adjust): Adapt safelen check to be compatible with VLA
+ simdlen.
+
+2024-12-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/118131
+ * config/arm/arm.cc (output_move_neon): Check TARGET_NEON as
+ needed.
+ (arm_attr_length_move_neon): Add support for V2x and V4x MVE tuple
+ modes.
+ * config/arm/iterators.md (VSTRUCT2, VSTRUCT4): New.
+ * config/arm/neon.md: Use VSTRUCT2 instead of OI and VSTRUCT4
+ instead of XI in define_split.
+
+2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * tree-ssa-forwprop.cc (get_vect_selector_index_map): Removed.
+ (recognise_vec_perm_simplify_seq): Fix calculation of vec-perm
+ selectors of narrowed sequence.
+ (calc_perm_vec_perm_simplify_seqs): Fixing calculation of
+ vec-perm selectors of the blended sequence.
+ (process_vec_perm_simplify_seq_list): Add whitespace to dump
+ string to avoid bad formatted dump output.
+
+2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * common/config/riscv/riscv-common.cc (riscv_get_valid_option_values):
+ Skip adding mtune entries that are already in the list.
+
+2024-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110345
+ * tree.cc (type_hash_canon_hash): Hash TYPE_REF_IS_RVALUE for
+ REFERENCE_TYPE.
+ (type_cache_hasher::equal): Compare TYPE_REF_IS_RVALUE for
+ REFERENCE_TYPE.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * doc/invoke.texi: Document -Wtemplate-names-tu-local.
+
2024-12-19 Patrick Palka <ppalka@redhat.com>
PR c++/118069
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * c.opt.urls: Regenerate.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * c.opt: New warning '-Wtemplate-names-tu-local'.
+
2024-12-18 Tobias Burnus <tburnus@baylibre.com>
* c-omp.cc (c_omp_interop_t_p): Handle error_mark_node.
+2024-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110345
+ * tree.cc (handle_maybe_unused_attribute): New function.
+ (std_attributes): Use handle_maybe_unused_attribute instead
+ of handle_unused_attribute for maybe_unused attribute.
+
+2024-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110345
+ * parser.cc (cp_parser_std_attribute): Don't transform
+ [[deprecated]] into [[gnu::deprecated]].
+ * tree.cc (handle_std_deprecated_attribute): New function.
+ (std_attributes): Add deprecated entry.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/116401
+ * decl.cc (grokfndecl): Mark deduction guides as 'inline'.
+ * module.cc (check_module_decl_linkage): Implement checks for
+ non-inline external linkage definitions in headers.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * cp-tree.h (check_module_decl_linkage): Declare.
+ * decl2.cc (finish_static_data_member_decl): Check linkage.
+ * module.cc (set_originating_module): Adjust comment.
+ (check_module_decl_linkage): New function.
+ * name-lookup.cc (do_namespace_alias): Build alias with
+ specified location, check linkage.
+ (pushtag): Check linkage.
+ (push_namespace): Slightly clarify error message.
+ * name-lookup.h (do_namespace_alias): Add location parameter.
+ * parser.cc (cp_parser_namespace_alias_definition): Pass
+ identifier location to do_namespace_alias.
+ (cp_parser_alias_declaration): Check linkage.
+ (cp_parser_init_declarator): Check linkage.
+ (cp_parser_function_definition_after_declarator): Check linkage.
+ (cp_parser_save_member_function_body): Check linkage.
+ * pt.cc (finish_concept_definition): Mark as public, check
+ linkage.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * module.cc (depset::hash::add_binding_entity): Also walk
+ unnamed namespaces.
+ (module_state::write_namespaces): Adjust assertion.
+ * name-lookup.cc (push_namespace): Move anon using-directive
+ handling to...
+ (make_namespace_finish): ...here.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * cp-objcp-common.cc (cp_tree_size): Add TU_LOCAL_ENTITY.
+ * cp-tree.def (TU_LOCAL_ENTITY): New tree code.
+ * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): Update comment.
+ (struct tree_tu_local_entity): New type.
+ (TU_LOCAL_ENTITY_NAME): New accessor.
+ (TU_LOCAL_ENTITY_LOCATION): New accessor.
+ (enum cp_tree_node_structure_enum): Add TS_CP_TU_LOCAL_ENTITY.
+ (union GTY): Add tu_local_entity field.
+ * module.cc (enum tree_tag): New flag DB_REFS_TU_LOCAL_BIT.
+ (depset::has_defn): Override for TU-local entities.
+ (depset::refs_tu_local): New accessor.
+ (depset::hash::ignore_tu_local): New field.
+ (depset::hash::hash): Initialize it.
+ (trees_out::tree_tag::tt_tu_local): New flag.
+ (trees_out::writing_local_entities): New field.
+ (trees_out::is_initial_scan): New function.
+ (trees_out::tu_local_count): New counter.
+ (trees_out::trees_out): Initialize writing_local_entities.
+ (dumper::impl::nested_name): Handle TU_LOCAL_ENTITY.
+ (trees_out::instrument): Report TU-local entity counts.
+ (trees_out::decl_value): Early exit for TU-local entities.
+ (trees_in::decl_value): Handle typedefs of TU-local entities.
+ (trees_out::decl_node): Adjust assertion to cope with early exit
+ of TU-local deps. Always write TU-local entities by value.
+ (trees_out::type_node): Handle TU-local types.
+ (trees_out::has_tu_local_dep): New function.
+ (trees_out::find_tu_local_decl): New function.
+ (trees_out::tree_node): Intercept TU-local entities and write
+ placeholder values for them instead of normal streaming.
+ (trees_in::tree_node): Handle TU-local entities and TU-local
+ template results.
+ (trees_out::write_function_def): Ignore exposures in non-inline
+ function bodies.
+ (trees_out::write_var_def): Ignore exposures in initializers.
+ (trees_out::write_class_def): Ignore exposures in friend decls.
+ (trees_in::read_class_def): Skip TU-local friends.
+ (trees_out::write_definition): Record whether we're writing a
+ decl which refers to TU-local entities.
+ (depset::hash::add_dependency): Only mark as exposure if we're not
+ ignoring TU-local entities.
+ (depset::hash::find_dependencies): Use depset's own is_key_order
+ function rather than delegating via walker. Pass whether the
+ decl has ignored TU-local entities in its definition.
+ (template_has_explicit_inst): New function.
+ (depset::hash::finalize_dependencies): Implement new warning
+ Wtemplate-names-tu-local.
+ (module_state::intercluster_seed): Don't seed TU-local deps.
+ (module_state::write_cluster): Pass whether the decl has ignored
+ TU-local entities in its definition.
+ * pt.cc (register_specialization): Always register in a module.
+ (complain_about_tu_local_entity): New function.
+ (expr_contains_tu_local_entity): New function.
+ (function_contains_tu_local_entity): New function.
+ (instantiate_class_template): Skip TU-local friends.
+ (tsubst_decl): Handle typedefs of TU-local entities.
+ (tsubst): Complain about TU-local entities.
+ (dependent_operand_p): Early exit for TU-local entities so we
+ don't attempt to constant-evaluate them.
+ (tsubst_expr): Detect and complain about TU-local entities.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * tree.cc (decl_linkage): Treat DECL_SELF_REFERENCE_P like
+ DECL_IMPLICIT_TYPEDEF_P.
+ * name-lookup.cc (do_namespace_alias): Fix linkage.
+ * module.cc (DB_IS_INTERNAL_BIT): Rename to...
+ (DB_TU_LOCAL_BIT): ...this.
+ (DB_REFS_INTERNAL_BIT): Rename to...
+ (DB_EXPOSURE_BIT): ...this.
+ (depset::hash::is_internal): Rename to...
+ (depset::hash::is_tu_local): ...this.
+ (depset::hash::refs_internal): Rename to...
+ (depset::hash::is_exposure): ...this.
+ (depset::hash::is_tu_local_entity): New function.
+ (depset::hash::has_tu_local_tmpl_arg): New function.
+ (depset::hash::is_tu_local_value): New function.
+ (depset::hash::make_dependency): Check for TU-local entities.
+ (depset::hash::add_dependency): Make current an exposure
+ whenever it references a TU-local entity.
+ (depset::hash::add_binding_entity): Don't create bindings for
+ any TU-local entity.
+ (depset::hash::finalize_dependencies): Rename flags and adjust
+ diagnostic messages to report exposures of TU-local entities.
+ (depset::tarjan::connect): Don't include any TU-local depsets.
+ (depset::hash::connect): Likewise.
+
2024-12-19 Patrick Palka <ppalka@redhat.com>
PR c++/118069
+2024-12-20 Sandra Loosemore <sloosemore@baylibre.com>
+
+ * gfortran.texi: Get rid of some unnecessary hyphens throughout
+ the file.
+ * invoke.texi: Likewise.
+
+2024-12-20 Sandra Loosemore <sloosemore@baylibre.com>
+
+ * gfortran.texi: Use the present tense throughout; fix some
+ markup issues and awkward wording.
+ * invoke.texi: Likewise.
+
+2024-12-20 Sandra Loosemore <sloosemore@baylibre.com>
+
+ * gfortran.texi: Fix markup, typos, and indexing throughout the
+ file.
+ * invoke.texi: Likewise.
+
+2024-12-20 Sandra Loosemore <sloosemore@baylibre.com>
+
+ PR fortran/51820
+ PR fortran/89632
+ PR fortran/109216
+ * invoke.texi (Code Gen Options): Further cleanups of the discussion
+ of what -funderscoring and -fsecond-underscore do.
+
+2024-12-20 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/118120
+ PR fortran/113928
+ * trans-array.cc (symbols_could_alias): If one symbol refers to a
+ complex type and the other to a real type of the same kind, do not
+ a priori exclude the possibility of aliasing.
+
2024-12-17 Sandra Loosemore <sloosemore@baylibre.com>
PR c/26154
+2024-12-20 Alexandre Oliva <oliva@adacore.com>
+
+ PR middle-end/118007
+ * gcc.dg/strub-pr118007.c: New.
+
+2024-12-20 Alexandre Oliva <oliva@adacore.com>
+
+ PR middle-end/113506
+ * gcc.target/riscv/pr113506.c: New.
+
+2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * gcc.dg/tree-ssa/satd-hadamard.c: Rename dg-additional-options
+ to dg-options.
+ * gcc.dg/tree-ssa/vector-10.c: Rename dg-additional-options
+ to dg-options and add -msse2 to it.
+ * gcc.dg/tree-ssa/vector-11.c: Likewise.
+ * gcc.dg/tree-ssa/vector-8.c: Rename dg-additional-options
+ to dg-options.
+ * gcc.dg/tree-ssa/vector-9.c: Likewise.
+
+2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * gcc.dg/tree-ssa/pr118149-2.c: New test.
+ * gcc.dg/tree-ssa/pr118149.c: New test.
+
+2024-12-20 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/118120
+ PR fortran/113928
+ * gfortran.dg/aliasing_complex_pointer.f90: New test.
+
+2024-12-20 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/96342
+ * gcc.target/aarch64/vect-simd-clone-2.c: New test.
+
+2024-12-20 Tamar Christina <tamar.christina@arm.com>
+ Victor Do Nascimento <victor.donascimento@arm.com>
+
+ PR target/96342
+ * gcc.target/aarch64/declare-simd-2.c: Add SVE clone scan.
+ * gcc.target/aarch64/vect-simd-clone-1.c: New test.
+ * g++.target/aarch64/vect-simd-clone-1.C: New test.
+
+2024-12-20 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/96342
+ * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target
+ only test.
+ * gfortran.dg/gomp/declare-variant-14.f90: Likewise.
+
+2024-12-20 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Take
+ tree-optimized pass for standard name check, and adjust the times.
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto
+
+2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * gcc.dg/tree-ssa/vector-11.c: New test.
+
+2024-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110345
+ * g++.dg/cpp0x/attr-maybe_unused1.C: New test.
+ * g++.dg/cpp0x/alignas21.C: Add test for int && alignas (int).
+
+2024-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110345
+ * g++.dg/cpp0x/attr-deprecated1.C: New test.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/116401
+ * g++.dg/modules/macro-4_c.H: Add missing 'inline'.
+ * g++.dg/modules/pr106761.h: Likewise.
+ * g++.dg/modules/pr98843_b.H: Likewise.
+ * g++.dg/modules/pr99468.H: Likewise.
+ * g++.dg/modules/pragma-1_a.H: Likewise.
+ * g++.dg/modules/tpl-ary-1.h: Likewise.
+ * g++.dg/modules/hdr-2.H: New test.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * g++.dg/modules/export-3.C: Adjust error message.
+ * g++.dg/modules/export-6.C: New test.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * g++.dg/modules/internal-9_a.H: New test.
+ * g++.dg/modules/internal-9_b.C: New test.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * g++.dg/modules/internal-5_a.C: New test.
+ * g++.dg/modules/internal-5_b.C: New test.
+ * g++.dg/modules/internal-6.C: New test.
+ * g++.dg/modules/internal-7_a.C: New test.
+ * g++.dg/modules/internal-7_b.C: New test.
+ * g++.dg/modules/internal-8_a.C: New test.
+ * g++.dg/modules/xtreme-header-8.C: New test.
+
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * g++.dg/modules/block-decl-2.C: Adjust messages.
+ * g++.dg/modules/internal-1.C: Adjust messages, remove XFAILs.
+ * g++.dg/modules/linkage-2.C: Adjust messages, remove XFAILS.
+ * g++.dg/modules/internal-3.C: New test.
+ * g++.dg/modules/internal-4_a.H: New test.
+ * g++.dg/modules/internal-4_b.C: New test.
+
2024-12-19 Marek Polacek <polacek@redhat.com>
Jason Merrill <jason@redhat.com>
+2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * libcp1plugin.cc (plugin_add_namespace_alias): Call
+ do_namespace_alias with input_location.
+
2024-09-20 David Malcolm <dmalcolm@redhat.com>
PR other/116613
+2024-12-20 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/57598
+ * caf/single.c (_gfortran_caf_stop_numeric): Report exceptions
+ on stop. And fix send_by_ref.
+ (_gfortran_caf_stop_str): Same.
+ (_gfortran_caf_error_stop_str): Same.
+ (_gfortran_caf_error_stop): Same.
+ * gfortran.map: Add report_exception for export.
+ * libgfortran.h (report_exception): Add to internal export.
+ * runtime/stop.c (report_exception): Same.
+
2024-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/117819