aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog192
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/c/ChangeLog5
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/fortran/ChangeLog37
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/testsuite/ChangeLog159
-rw-r--r--libcpp/ChangeLog11
-rw-r--r--libgomp/ChangeLog6
-rw-r--r--libstdc++-v3/ChangeLog157
-rw-r--r--maintainer-scripts/ChangeLog13
11 files changed, 592 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6a26f87..f42adeb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,195 @@
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_insn_location): New variable.
+ (avr_final_prescan_insn): Set avr_insn_location.
+ (avr_asm_final_postscan_insn): Unset avr_insn_location after last insn.
+ (avr_print_operand): Pass avr_insn_location to warning_at.
+
+2024-12-03 David Malcolm <dmalcolm@redhat.com>
+
+ * doc/libgdiagnostics/conf.py: Remove "author". Change
+ "copyright" field to the FSF.
+
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/117726
+ * config/avr/avr-passes.cc (avr_split_shift_p)
+ [ASHIFT, LSHIFTRT]: Allow offsets of bitsize - 1.
+ (avr_split_shift4) [ASHIFT, LSHIFTRT]: Also split offset 31.
+ (avr_split_shift3) [ASHIFT, LSHIFTRT]: Also split offset 23.
+ (avr_split_shift2) [ASHIFT, LSHIFTRT]: Also split offset 15.
+
+2024-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117874
+ * tree-vect-slp.cc (vect_build_slp_tree_2): Perform early
+ reassoc checks before eating into discovery limit.
+
+2024-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117874
+ * tree-vectorizer.h (vec_info_shared::n_stmts): Remove.
+ (LOOP_VINFO_N_STMTS): Likewise.
+ * tree-vectorizer.cc (vec_info_shared::vec_info_shared): Adjust.
+ * tree-vect-loop.cc (vect_get_datarefs_in_loop): Do not
+ count stmts.
+ (vect_analyze_loop_2): Adjust. Pass stmt_vec_info.length ()
+ to vect_analyze_slp as SLP tree size limit.
+
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/117726
+ * config/avr/avr-passes.cc (avr_emit_shift): All 8-bit shifts with
+ an offset of 6 have 3-operand alternatives.
+ * config/avr/avr.cc (ashlqi3_out, lshrqi3_out) [case 6]:
+ Implement as 3-operand insn.
+ (avr_rtx_costs_1) [QImode, ASHIFT + LSHIFTRT]: Adjust
+ costs for offset of 6.
+ * config/avr/avr.md (*ashlqi3_split, *ashlqi3)
+ (*lshrqi3_split, *lshrqi3): Add "r,r,C06" alternative.
+
+2024-12-03 Claudio Bantaloukas <claudio.bantaloukas@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def: (fp8): fix FEATURE_STRING.
+ (fp8fma, ssve-fp8fma): Likewise.
+ (fp8dot4, ssve-fp8dot4, fp8dot2, ssve-fp8dot2): Likewise.
+
+2024-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/117420
+ * tree-ssanames.h (get_known_nonzero_bits): Declare.
+ * tree-ssanames.cc (get_nonzero_bits): New wrapper function. Move old
+ definition to ...
+ (get_nonzero_bits_1): ... here, add static. Change widest_int in
+ function comment to wide_int.
+ (get_known_nonzero_bits_1, get_known_nonzero_bits): New functions.
+ * match.pd (with_possible_nonzero_bits2): Rename to ...
+ (with_possible_nonzero_bits): ... this. Guard the bit_and case with
+ #if GENERIC. Change to a normal match predicate without parameters.
+ Rename the old with_possible_nonzero_bits match to ...
+ (with_possible_nonzero_bits_1): ... this.
+ (with_certain_nonzero_bits2): Remove.
+ (with_known_nonzero_bits_1, with_known_nonzero_bits): New match
+ predicates.
+ (X == C (or X & Z == Y | C) is impossible if ~nonzero(X) & C != 0):
+ Use with_known_nonzero_bits@0 instead of
+ (with_certain_nonzero_bits2 @1), use with_possible_nonzero_bits@0
+ instead of (with_possible_nonzero_bits2 @0) and
+ get_known_nonzero_bits (@1) instead of wi::to_wide (@1).
+
+2024-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/117847
+ * gimple-lower-bitint.cc (gimple_lower_bitint) <case LROTATE_EXPR>:
+ Use m = (p - n) % p instead of m = p - n for the other shift count.
+
+2024-12-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * cgraphunit.cc (varpool_node::finalize_decl): Set alignment
+ based on OpenMP's 'omp allocate' attribute/directive.
+
+2024-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-simd-pragma-builtins.def: Add a flags
+ field to each entry.
+ * config/aarch64/aarch64-builtins.cc: Update includes accordingly.
+ (aarch64_pragma_builtins_data): Add a flags field.
+ (aarch64_init_pragma_builtins): Use the flags field to add attributes
+ to the function declaration.
+
+2024-12-03 Saurabh Jha <saurabh.jha@arm.com>
+ Vladimir Miloserdov <vladimir.miloserdov@arm.com>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-builtins.cc
+ (aarch64_builtin_signatures): Add binary_lane.
+ (aarch64_fntype): Handle it.
+ (simd_types): Add 16-bit x2 types.
+ (aarch64_pragma_builtins_checker): New class.
+ (aarch64_general_check_builtin_call): Use it.
+ (aarch64_expand_pragma_builtin): Add support for lut unspecs.
+ * config/aarch64/aarch64-option-extensions.def
+ (AARCH64_OPT_EXTENSION): Add lut option.
+ * config/aarch64/aarch64-simd-pragma-builtins.def
+ (ENTRY_BINARY_LANE): Modify to use new ENTRY macro.
+ (ENTRY_TERNARY_VLUT8): Macro to declare lut intrinsics.
+ (ENTRY_TERNARY_VLUT16): Macro to declare lut intrinsics.
+ (REQUIRED_EXTENSIONS): Declare lut intrinsics.
+ * config/aarch64/aarch64-simd.md
+ (@aarch64_<vluti_uns_op><VLUT:mode><VB:mode>): Instruction
+ pattern for luti2 and luti4 intrinsics.
+ (@aarch64_lutx2<VLUT:mode><VB:mode>): Instruction pattern for
+ luti4x2 intrinsics.
+ * config/aarch64/aarch64.h
+ (TARGET_LUT): lut flag.
+ * config/aarch64/iterators.md: Iterators and attributes for lut.
+ * doc/invoke.texi: Document extension in AArch64 Options.
+
+2024-12-03 Saurabh Jha <saurabh.jha@arm.com>
+ Vladimir Miloserdov <vladimir.miloserdov@arm.com>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-builtins.cc
+ (ENTRY): Modify to add support of return and argument types.
+ (struct simd_type): New struct to declare types using mode and
+ qualifiers.
+ (struct aarch64_pragma_builtins_data): Replace mode with
+ the array of types to support return and argument types.
+ (aarch64_fntype): Modify to handle different signatures.
+ (aarch64_expand_pragma_builtin): Modify to handle different
+ signatures.
+ * config/aarch64/aarch64-simd-pragma-builtins.def
+ (ENTRY_VHSDF): Rename to ENTRY_BINARY_VHSDF.
+ (ENTRY_BINARY): New macro to declare binary intrinsics.
+ (ENTRY_BINARY_VHSDF): Remove signature argument and use
+ ENTRY_BINARY.
+
+2024-12-03 Saurabh Jha <saurabh.jha@arm.com>
+ Vladimir Miloserdov <vladimir.miloserdov@arm.com>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/iterators.md: Reorder some declarations,
+ putting them under the associated heading comment.
+
+2024-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_v64_mode): Declare.
+ (aarch64_vq_mode): Rename to...
+ (aarch64_v128_mode): ...this.
+ * config/aarch64/aarch64.cc (aarch64_v64_mode): New function,
+ split out from...
+ (aarch64_simd_container_mode): ...here.
+ (aarch64_vq_mode): Rename to...
+ (aarch64_v128_mode): ...this and update callers.
+ * config/aarch64/aarch64-sve-builtins-base.cc: Likewise update calls.
+
+2024-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve-builtins.cc (report_non_ice)
+ (report_out_of_range, report_neither_nor, report_not_one_of)
+ (report_not_enum): Move to...
+ * config/aarch64/aarch64.cc: ...here, putting them in the aarch64
+ namespace, and...
+ * config/aarch64/aarch64-protos.h: ...declare them here.
+
+2024-12-03 Pan Li <pan2.li@intel.com>
+
+ * match.pd: Refactor sorts of unsigned SAT_SUB match patterns.
+
+2024-12-03 Heiko Eißfeldt <heiko@hexco.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114540
+ * varasm.cc (decode_reg_name_and_count): Use strtoul instead of atoi
+ and simplify verification that the whole asmspec contains just decimal
+ digits.
+
+2024-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117874
+ * tree-vect-loop.cc (vect_analyze_loop_2): When non-SLP
+ analysis fails, try single-lane SLP.
+
2024-12-02 David Malcolm <dmalcolm@redhat.com>
* doc/libgdiagnostics/tutorial/01-hello-world.rst: Update linker
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index ba18418..74f6fd4 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20241203
+20241204
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 6ecadeb..037b4ac 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,8 @@
+2024-12-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * c-parser.cc (c_parser_omp_allocate): Only check scope if
+ not in_omp_decl_attribute. Remove setting the alignment.
+
2024-11-30 Martin Uecker <uecker@tugraz.at>
PR c/117806
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 59fbce8..0bcd7d1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2024-12-03 Nina Ranns <dinka.ranns@googlemail.com>
+
+ PR c++/117579
+ * parser.cc (cp_parser_statement): Replace assertion with a
+ conditional check that the statement containing a contract assert
+ is empty.
+
2024-12-02 Patrick Palka <ppalka@redhat.com>
* constraint.cc (resolve_concept_check): Remove.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2f4e492..86b70c7 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,40 @@
+2024-12-03 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/102689
+ * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1
+ class container carried in ss->info as the seed for a lhs in
+ class valued transformational intrinsic calls that are not the
+ rhs of an assignment. Otherwise, the lhs variable expression is
+ taken from the loop chain. For this latter case, the _vptr and
+ _len fields are set.
+ (gfc_trans_create_temp_array): Use either the lhs expression
+ seeds to build a class variable that will take the returned
+ descriptor as its _data field. In the case that the arg1 expr.
+ is used, 'atmp' must be marked as unused, a typespec built with
+ the correct rank and the _vptr and _len fields set. The element
+ size is provided for the temporary allocation and to set the
+ descriptor span.
+ (gfc_array_init_size): When an intrinsic type scalar expr3 is
+ used in allocation of a class array, use its element size in
+ the descriptor dtype.
+ * trans-expr.cc (gfc_conv_class_to_class): Class valued
+ transformational intrinsics return the pointer to the array
+ descriptor as the _data field of a class temporary. Extract
+ directly and return the address of the class temporary.
+ (gfc_conv_procedure_call): store the expression for the first
+ argument of a class valued transformational intrinsic function
+ in the ss info class_container field. Later, use its type as
+ the element type in the call to gfc_trans_create_temp_array.
+ (fcncall_realloc_result): Add a dtype argument and use it in
+ the descriptor, when available.
+ (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with
+ the lhs rank and the rhs element size and use it in the call to
+ fcncall_realloc_result.
+
+2024-12-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * trans-decl.cc (gfc_finish_var_decl): Remove setting the alignment.
+
2024-11-29 Andrew Pinski <quic_apinski@quicinc.com>
PR fortran/117843
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 5bd1cb1..70a7e23 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2024-12-03 Joseph Myers <josmyers@redhat.com>
+
+ * zh_CN.po: Update.
+
2024-09-19 Joseph Myers <josmyers@redhat.com>
* zh_CN.po: Update.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 22f492e..3b267f8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,162 @@
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ PR testsuite/109123
+ PR testsuite/114661
+ PR testsuite/117828
+ PR testsuite/116481
+ PR testsuite/91069
+ * gcc.dg/Wuse-after-free-pr109123.c: Use size_t
+ instead of long unsigned int.
+ * gcc.dg/c23-tag-bitfields-1.c: Requires int32plus.
+ * gcc.dg/pr114661.c: Same.
+ * gcc.dg/pr117828.c: Same.
+ * gcc.dg/flex-array-counted-by-2.c: Use uintptr_t
+ instead of unsigned long.
+ * gcc.dg/pr116481.c: Same.
+ * gcc.dg/lto/tag-1_0.c: Use int32_t instead of int.
+ * gcc.dg/lto/tag-1_1.c: Use int16_t instead of short.
+ * gcc.dg/pr91069.c: Require double64.
+ * gcc.dg/type-convert-var.c: Require double64plus.
+
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.c-torture/execute/ieee/cdivchkd.x: New file.
+ * gcc.c-torture/execute/ieee/cdivchkf.x: New file.
+ * gcc.dg/flex-array-counted-by.c: Require wchar.
+ * gcc.dg/fold-copysign-1.c [avr]: Add -mdouble=64.
+
+2024-12-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/Warray-bounds-33.c: Adjust for avr diagnostics.
+ * gcc.dg/pr56228.c: Same.
+ * gcc.dg/pr86124.c: Same.
+ * gcc.dg/pr94291.c: Same.
+ * gcc.dg/tree-ssa/pr82059.c: Same.
+
+2024-12-03 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.dg/crc-linux-1.c: Moved to from gcc.dg/torture.
+ * gcc.dg/crc-linux-2.c: Likewise.
+ * gcc.dg/crc-linux-4.c: Likewise.
+ * gcc.dg/crc-linux-5.c: Likewise.
+ * gcc.dg/crc-not-crc-15.c: Likewise.
+ * gcc.dg/crc-side-instr-1.c: Likewise.
+ * gcc.dg/crc-side-instr-2.c: Likewise.
+ * gcc.dg/crc-side-instr-3.c: Likewise.
+ * gcc.dg/crc-side-instr-4.c: Likewise.
+ * gcc.dg/crc-side-instr-5.c: Likewise.
+ * gcc.dg/crc-side-instr-6.c: Likewise.
+ * gcc.dg/crc-side-instr-7.c: Likewise.
+ * gcc.dg/crc-side-instr-8.c: Likewise.
+ * gcc.dg/crc-side-instr-9.c: Likewise.
+ * gcc.dg/crc-side-instr-10.c: Likewise.
+ * gcc.dg/crc-side-instr-11.c: Likewise.
+ * gcc.dg/crc-side-instr-12.c: Likewise.
+ * gcc.dg/crc-side-instr-13.c: Likewise.
+ * gcc.dg/crc-side-instr-14.c: Likewise.
+ * gcc.dg/crc-side-instr-15.c: Likewise.
+ * gcc.dg/crc-side-instr-16.c: Likewise.
+ * gcc.dg/crc-side-instr-17.c: Likewise.
+ * gcc.dg/torture/crc-linux-1.c: New file.
+ * gcc.dg/torture/crc-linux-2.c: New file.
+ * gcc.dg/torture/crc-linux-4.c: New file.
+ * gcc.dg/torture/crc-linux-5.c: New file.
+ * gcc.dg/torture/crc-not-crc-15.c: New file.
+ * gcc.dg/torture/crc-side-instr-1.c: New file.
+ * gcc.dg/torture/crc-side-instr-10.c: New file.
+ * gcc.dg/torture/crc-side-instr-11.c: New file.
+ * gcc.dg/torture/crc-side-instr-12.c: New file.
+ * gcc.dg/torture/crc-side-instr-13.c: New file.
+ * gcc.dg/torture/crc-side-instr-14.c: New file.
+ * gcc.dg/torture/crc-side-instr-15.c: New file.
+ * gcc.dg/torture/crc-side-instr-16.c: New file.
+ * gcc.dg/torture/crc-side-instr-17.c: New file.
+ * gcc.dg/torture/crc-side-instr-2.c: New file.
+ * gcc.dg/torture/crc-side-instr-3.c: New file.
+ * gcc.dg/torture/crc-side-instr-4.c: New file.
+ * gcc.dg/torture/crc-side-instr-5.c: New file.
+ * gcc.dg/torture/crc-side-instr-6.c: New file.
+ * gcc.dg/torture/crc-side-instr-7.c: New file.
+ * gcc.dg/torture/crc-side-instr-8.c: New file.
+ * gcc.dg/torture/crc-side-instr-9.c: New file.
+
+2024-12-03 Nina Ranns <dinka.ranns@googlemail.com>
+
+ PR c++/117579
+ * g++.dg/contracts/pr117579.C: New test.
+
+2024-12-03 Edwin Lu <ewlu@rivosinc.com>
+
+ * gcc.target/riscv/crc-builtin-zbc32.c: Fix selector.
+ * gcc.target/riscv/crc-builtin-zbc64.c: Ditto.
+
+2024-12-03 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/102689
+ * gfortran.dg/class_transformational_1.f90: New test for class-
+ valued reshape.
+ * gfortran.dg/class_transformational_2.f90: New test for other
+ class_valued transformational intrinsics.
+
+2024-12-03 Joseph Myers <josmyers@redhat.com>
+
+ PR c/117162
+ * gcc.dg/cpp/c17-ucn-1.c, gcc.dg/cpp/c17-ucn-2.c,
+ gcc.dg/cpp/c17-ucn-3.c, gcc.dg/cpp/c17-ucn-4.c,
+ gcc.dg/cpp/c23-ucn-2.c, gcc.dg/cpp/c23-ucnid-2.c: New tests.
+ * c-c++-common/cpp/delimited-escape-seq-3.c,
+ c-c++-common/cpp/named-universal-char-escape-3.c,
+ gcc.dg/cpp/c23-ucn-1.c, gcc.dg/cpp/c2y-delimited-escape-seq-3.c:
+ Update expected messages
+ * gcc.dg/cpp/ucs.c: Use -pedantic-errors. Update expected
+ messages.
+
+2024-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/117420
+ * gcc.dg/tree-ssa/pr117420.c: New test.
+
+2024-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/117847
+ * gcc.dg/torture/bitint-75.c: New test.
+
+2024-12-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * c-c++-common/gomp/allocate-18.c: Check that alignof is unaffected
+ by 'omp allocate'.
+ * c-c++-common/gomp/allocate-19.c: Likewise.
+
+2024-12-03 Saurabh Jha <saurabh.jha@arm.com>
+ Vladimir Miloserdov <vladimir.miloserdov@arm.com>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/simd/lut-incorrect-range.c: New test.
+ * gcc.target/aarch64/simd/lut-no-flag.c: New test.
+ * gcc.target/aarch64/simd/lut.c: New test.
+
+2024-12-03 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization
+ options passing to testcases.
+
+2024-12-03 Heiko Eißfeldt <heiko@hexco.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114540
+ * gcc.dg/pr114540.c: New test.
+
+2024-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/117874
+ * gcc.dg/vect/pr117874.c: New testcase.
+
+2024-12-03 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization
+ options passing to testcases.
+
2024-12-02 Jakub Jelinek <jakub@redhat.com>
* g++.target/aarch64/pr94515-2.C: Add newline at the end of the file.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index ef92080..5be675d 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,14 @@
+2024-12-03 Joseph Myers <josmyers@redhat.com>
+
+ PR c/117162
+ * include/cpplib.h (struct cpp_options): Add low_ucns.
+ * init.cc (struct lang_flags, lang_defaults): Add low_ucns.
+ (cpp_set_lang): Set low_ucns
+ * charset.cc (_cpp_valid_ucn): For C, allow UCNs below 0xa0
+ outside identifiers, with a pedwarn if pedantic before C23 or a
+ warning with -Wc11-c23-compat. Do not allow \u0024 in identifiers
+ for C23.
+
2024-11-28 David Malcolm <dmalcolm@redhat.com>
PR c/104896
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index b09e423..336399e 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,9 @@
+2024-12-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * libgomp.texi (Memory allocation): Mention (non-)effect of 'align'
+ on _Alignof.
+ * testsuite/libgomp.c/allocate-7.c: New test.
+
2024-11-28 Thomas Schwinge <tschwinge@baylibre.com>
* testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index edd04d2..e20517c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,160 @@
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108236
+ * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init
+ as rvalue.
+ * include/pstl/numeric_impl.h (__brick_transform_scan): Do not
+ write through __result until after reading through __first. Move
+ __init into return value.
+ (__pattern_transform_scan): Pass __init as rvalue.
+ * include/std/numeric (exclusive_scan): Move construct instead
+ of copy constructing.
+ * testsuite/26_numerics/exclusive_scan/2.cc: New test.
+ * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/alloc_traits.h (__do_alloc_on_copy): Remove.
+ (__do_alloc_on_move __do_alloc_on_swap): Remove.
+ (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if
+ constexpr.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/57272
+ * include/bits/forward_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST):
+ Define.
+ (_Fwd_list_node_base::_M_base_ptr): New member functions.
+ (_Fwd_list_node::_M_node_ptr): New member function.
+ (_Fwd_list_iterator, _Fwd_list_const_iterator): Make internal
+ member functions and data member private. Declare forward_list
+ and _Fwd_list_base as friends.
+ (__fwdlist::_Node_base, __fwdlist::_Node, __fwdlist::_Iterator):
+ New class templates.
+ (__fwdlist::_Node_traits): New class template.
+ (_Fwd_list_base): Use _Node_traits to get types. Use _Base_ptr
+ instad of _Fwd_list_node_base*. Use _M_base_ptr() instead of
+ taking address of head node.
+ (forward_list): Likewise.
+ (_Fwd_list_base::_M_get_node): Do not define for versioned
+ namespace.
+ (_Fwd_list_base::_M_put_node): Only convert pointer if needed.
+ (_Fwd_list_base::_M_create_node): Use __allocate_guarded_obj.
+ (_Fwd_list_base::_M_destroy_node): New member function.
+ * include/bits/forward_list.tcc (_Fwd_list_base::_M_insert_after)
+ (forward_list::_M_splice_after, forward_list::insert_after): Use
+ const_iterator::_M_const_cast() instead of casting pointers.
+ (_Fwd_list_base::_M_erase_after): Use _M_destroy_node.
+ (forward_list::remove, forward_list::remove_if): Only do
+ downcasts when accessing the value.
+ (forward_list::sort): Likewise.
+ * testsuite/23_containers/forward_list/capacity/1.cc: Check
+ max_size for new node type.
+ * testsuite/23_containers/forward_list/capacity/node_sizes.cc:
+ New test.
+ * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc:
+ New test.
+ * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
+ New test.
+ * testsuite/23_containers/forward_list/requirements/completeness.cc: New file.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/57272
+ PR libstdc++/110952
+ * include/bits/allocated_ptr.h (__allocated_ptr::get): Add
+ const.
+ (__allocated_ptr::operator bool, __allocated_ptr::release): New
+ member functions.
+ (__allocate_guarded): Add inline.
+ (__allocated_obj): New class template.
+ (__allocate_guarded_obj): New function template.
+ * include/bits/list.tcc (_List_base::_M_clear()): Replace uses
+ of raw pointers. Use _M_destroy_node.
+ (list::emplace, list::insert): Likewise.
+ (list::sort): Adjust check for 0 or 1 wsize. Use template
+ argument list for _Scratch_list.
+ * include/bits/stl_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST):
+ Define.
+ (_List_node_base::_Base_ptr): New typedef.
+ (_List_node_base::_M_base): New member functions.
+ (_List_node_header::_M_base): Make public and add
+ using-declaration for base class overload.
+ (__list::_Node_traits, __list::_Node_base)
+ (__list::_Node_header, __list::_Node, __list::_Iterator): New
+ class templates.
+ (_Scratch_list): Turn class into class template. Use _Base_ptr
+ typedef instead of _List_node_base*.
+ (_List_node::_Node_ptr): New typedef.
+ (_List_node::_M_node_ptr): New member function.
+ (_List_base, _List_impl): Use _Node_traits to get node types.
+ (_List_base::_M_put_node): Convert to fancy pointer if needed.
+ (_List_base::_M_destroy_node): New member function.
+ (_List_base(_List_base&&, _Node_alloc_type&&)): Use if constexpr
+ to make function a no-op for fancy pointers.
+ (_List_base::_S_distance, _List_base::_M_distance)
+ (_List_base::_M_node_count): Likewise.
+ (list): Use _Node_traits to get iterator, node and pointer
+ types.
+ (list::_M_create_node): Use _Node_ptr typedef instead of _Node*.
+ Use __allocate_guarded_obj instead of _M_get_node.
+ (list::end, list::cend, list::empty): Use node header's
+ _M_base() function instead of taking its address.
+ (list::swap): Use _Node_traits to get node base type.
+ (list::_M_create_node, list::_M_insert): Use _Node_ptr instead
+ of _Node*.
+ (list::_M_erase): Likewise. Use _M_destroy_node.
+ (__distance): Overload for __list::_Iterator.
+ (_Node_base::swap, _Node_base::_M_transfer): Define non-inline
+ member functions of class templates.
+ (_Node_header::_M_reverse): Likewise.
+ * testsuite/23_containers/list/capacity/29134.cc: Check max_size
+ for allocator of new node type.
+ * testsuite/23_containers/list/capacity/node_sizes.cc: New test.
+ * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc:
+ New test.
+ * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
+ New test.
+ * testsuite/23_containers/list/requirements/completeness.cc: New file.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_list.h (_List_iterator): Remove _Self typedef
+ and just use injected-class-name instead.
+ (_List_const_iterator): Likewise.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_list.h (_List_size): New struct.
+ (_List_node_header): Replace _M_size member with _List_size base
+ class.
+ (_List_node_header(_List_node_header&&)): Replace explicit uses
+ of _M_size with initializing the base.
+ (_List_node_header::_M_init): Likewise.
+ (_List_base::_S_distance, _List_base::_M_distance)
+ (_List_base::_M_node_count): Move to end of class body and add
+ comment.
+ (list::_S_distance, list::_M_node_count): Likewise.
+ (list::size): Inline _M_node_count effects to here.
+ (list::splice(iterator, list&, iterator, iterator)): Use #if and
+ call std::distance instead of _S_distance.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_bvector.h (vector(const allocator_type&)):
+ Add noexcept, as per LWG 3778.
+ * testsuite/23_containers/vector/bool/cons/lwg3778.cc: New test.
+
+2024-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/117889
+ PR libstdc++/117858
+ * include/std/optional (optional(const optional<U>&)): Fix copy
+ and paste error in constraints.
+ (optional(optional<U>&&)): Likewise.
+ * testsuite/20_util/optional/assignment/117858.cc: Move to ...
+ * testsuite/20_util/optional/cons/117858.cc: New test.
+
2024-12-02 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index 943e097..4450b2a 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,16 @@
+2024-12-03 David Malcolm <dmalcolm@redhat.com>
+
+ PR web/117883
+ * update_web_docs_git: Introduce SPHINX_VENV to make
+ it easier to test the script. Add the libgdiagnostics docs
+ and testsuite to the files to be preserved. Use sphinx to build
+ the libgdiagnostics docs as HTML. Copy them into $DOCSDIR.
+
+2024-12-03 David Malcolm <dmalcolm@redhat.com>
+
+ * update_web_docs_git: Add the jit testsuite to the files to
+ be preserved, since this is used by the jit docs.
+
2024-07-19 Richard Biener <rguenther@suse.de>
* crontab: Remove entry for gcc-11 branch.