diff options
37 files changed, 623 insertions, 41 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index e7a4cab..279158f 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2025-04-25 Jakub Jelinek <jakub@redhat.com> + + * gennews (files): Add files for GCC 15. + 2025-04-17 Jakub Jelinek <jakub@redhat.com> * gcc-changelog/git_update_version.py (active_refs): Add diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8d412b6..3ab7f56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,72 @@ +2025-04-25 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/sourcebuild.texi: Document variadic_mi_thunk effective + target check. + +2025-04-25 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/sourcebuild.texi: Document effective target + using_sjlj_exceptions. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + + * match.pd: Move `(cmp (cond @0 @1 @2) @3)` simplifcation after + the bool comparison simplifications. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple.h (gimple_cond_make_false): Fix comment. + (gimple_cond_make_true): Likewise. + (gimple_cond_true_p): Fix spello for statement in comment. + +2025-04-25 Jason Merrill <jason@redhat.com> + + * common.opt: Add ABI v21. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + + * ipa-icf.cc (sem_function::sem_function): Remove + the obstack argument version one. + (sem_variable::sem_variable): Likewise. + * ipa-icf.h (sem_function): Remove ctor for + obstack argument only one. + (sem_variable): Likewise. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + + * ipa-icf.cc (sem_function::init): Remove assignment of node from itself. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/119811 + * tree-ssa-phiopt.cc: Remove calls.h include. + +2025-04-25 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR rtl-optimization/116479 + * modulo-sched.cc (doloop_register_get): Reject conditions with + decrements that are not 1. + +2025-04-25 Jakub Jelinek <jakub@redhat.com> + + PR target/119873 + * config/s390/s390.cc (s390_call_saved_register_used): Don't return + true if default definition of PARM_DECL SSA_NAME of the same register + is passed in call saved register in the PARALLEL case either. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119737 + * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Properly + switch sections. + +2025-04-25 Yuriy Kolerov <Yuriy.Kolerov@synopsys.com> + + PR target/119122 + * common/config/riscv/riscv-common.cc (riscv_implied_info): Add a rule + for Zca to C implication. + 2025-04-24 Jakub Jelinek <jakub@redhat.com> Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index c872ff4..61358eb 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250425 +20250426 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 2d8ef50..732b2c9 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2025-04-25 Jason Merrill <jason@redhat.com> + + * c-opts.cc (c_common_post_options): Bump default ABI to 21 + and compat ABI to 18. + 2025-04-06 Sandra Loosemore <sloosemore@baylibre.com> * c.opt.urls: Regenerate. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cd128e2..d092553 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,18 @@ +2025-04-25 Jason Merrill <jason@redhat.com> + + PR c++/119764 + PR c++/87185 + * lambda.cc (insert_capture_proxy): Handle noexcept lambda. + (prune_lambda_captures): Likewise, in ABI v21. + +2025-04-25 Jason Merrill <jason@redhat.com> + + * cp-tree.h (struct tinst_level): Add had_errors bit. + * pt.cc (push_tinst_level_loc): Clear it. + (pop_tinst_level): Set it. + (reopen_tinst_level): Check it. + (instantiate_pending_templates): Call limit_bad_template_recursion. + 2025-04-24 Jason Merrill <jason@redhat.com> PR c++/116954 diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index c29cd3f..65eeecc 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2957,6 +2957,9 @@ Target supports @code{sysconf}. @item trampolines Target supports trampolines. +@item variadic_mi_thunk +Target supports C++ virtual variadic function calls with multiple inheritance. + @item two_plus_gigs Target supports linking programs with 2+GiB of data. @@ -3012,6 +3015,9 @@ Note that this is orthogonal to effective-target @code{exceptions_enabled}. Testing configuration has exception handling enabled. Note that this is orthogonal to effective-target @code{exceptions}. +@item using_sjlj_exceptions +Target uses @code{setjmp} and @code{longjmp} for implementing exceptions. + @item fgraphite Target supports Graphite optimizations. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7c6a415..e6ecc8d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,16 @@ +2025-04-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/102900 + * trans-decl.cc (gfc_generate_function_code): Use sym->result + when generating fake result decl for functions returning + allocatable or pointer results. + * trans-expr.cc (gfc_conv_procedure_call): When checking the + pointer status of an actual argument passed to a non-allocatable, + non-pointer dummy which is of type CLASS, do not check the + class container of the actual if it is just a procedure pointer. + (gfc_trans_pointer_assignment): Fix treatment of assignment to + NULL of a procedure pointer. + 2025-04-23 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/119200 diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc index ee48a82..43bd7be 100644 --- a/gcc/fortran/trans-decl.cc +++ b/gcc/fortran/trans-decl.cc @@ -8079,13 +8079,13 @@ gfc_generate_function_code (gfc_namespace * ns) || sym->result->ts.u.derived->attr.alloc_comp || sym->result->ts.u.derived->attr.pointer_comp)) || (sym->result->ts.type == BT_CLASS - && (CLASS_DATA (sym)->attr.allocatable - || CLASS_DATA (sym)->attr.class_pointer + && (CLASS_DATA (sym->result)->attr.allocatable + || CLASS_DATA (sym->result)->attr.class_pointer || CLASS_DATA (sym->result)->attr.alloc_comp || CLASS_DATA (sym->result)->attr.pointer_comp)))) { artificial_result_decl = true; - result = gfc_get_fake_result_decl (sym, 0); + result = gfc_get_fake_result_decl (sym->result, 0); } if (result != NULL_TREE && sym->attr.function && !sym->attr.pointer) diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index 19e5669b..8d9448e 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -8145,7 +8145,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, goto end_pointer_check; tmp = parmse.expr; - if (fsym && fsym->ts.type == BT_CLASS) + if (fsym && fsym->ts.type == BT_CLASS && !attr.proc_pointer) { if (POINTER_TYPE_P (TREE_TYPE (tmp))) tmp = build_fold_indirect_ref_loc (input_location, tmp); @@ -10912,9 +10912,11 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) gfc_init_se (&lse, NULL); /* Usually testing whether this is not a proc pointer assignment. */ - non_proc_ptr_assign = !(gfc_expr_attr (expr1).proc_pointer - && expr2->expr_type == EXPR_VARIABLE - && expr2->symtree->n.sym->attr.flavor == FL_PROCEDURE); + non_proc_ptr_assign + = !(gfc_expr_attr (expr1).proc_pointer + && ((expr2->expr_type == EXPR_VARIABLE + && expr2->symtree->n.sym->attr.flavor == FL_PROCEDURE) + || expr2->expr_type == EXPR_NULL)); /* Check whether the expression is a scalar or not; we cannot use expr1->rank as it can be nonzero for proc pointers. */ diff --git a/gcc/gimple.h b/gcc/gimple.h index 112e5ae..7e3086f 100644 --- a/gcc/gimple.h +++ b/gcc/gimple.h @@ -3829,7 +3829,7 @@ gimple_cond_false_label (const gcond *gs) } -/* Set the conditional COND_STMT to be of the form 'if (1 == 0)'. */ +/* Set the conditional COND_STMT to be of the form 'if (0 != 0)'. */ inline void gimple_cond_make_false (gcond *gs) @@ -3840,7 +3840,7 @@ gimple_cond_make_false (gcond *gs) } -/* Set the conditional COND_STMT to be of the form 'if (1 == 1)'. */ +/* Set the conditional COND_STMT to be of the form 'if (1 != 0)'. */ inline void gimple_cond_make_true (gcond *gs) @@ -3850,7 +3850,7 @@ gimple_cond_make_true (gcond *gs) gs->subcode = NE_EXPR; } -/* Check if conditional statemente GS is of the form 'if (1 == 1)', +/* Check if conditional statement GS is of the form 'if (1 == 1)', 'if (0 == 0)', 'if (1 != 0)' or 'if (0 != 1)' */ inline bool diff --git a/gcc/match.pd b/gcc/match.pd index ba036e5..0fe90a6e 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -7759,20 +7759,6 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (cmp (bit_and@2 @0 integer_pow2p@1) @1) (icmp @2 { build_zero_cst (TREE_TYPE (@0)); }))) -#if GIMPLE -/* From fold_binary_op_with_conditional_arg handle the case of - rewriting (a ? b : c) > d to a ? (b > d) : (c > d) when the - compares simplify. */ -(for cmp (simple_comparison) - (simplify - (cmp:c (cond @0 @1 @2) @3) - /* Do not move possibly trapping operations into the conditional as this - pessimizes code and causes gimplification issues when applied late. */ - (if (!FLOAT_TYPE_P (TREE_TYPE (@3)) - || !operation_could_trap_p (cmp, true, false, @3)) - (cond @0 (cmp! @1 @3) (cmp! @2 @3))))) -#endif - (for cmp (ge lt) /* x < 0 ? ~y : y into (x >> (prec-1)) ^ y. */ /* x >= 0 ? ~y : y into ~((x >> (prec-1)) ^ y). */ @@ -8119,6 +8105,23 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) replace if (x == 0) with tem = ~x; if (tem != 0) which is clearly less optimal and which we'll transform again in forwprop. */ +#if GIMPLE +/* From fold_binary_op_with_conditional_arg handle the case of + rewriting (a ? b : c) > d to a ? (b > d) : (c > d) when the + compares simplify. + This should be after the boolean comparison simplification so + that it can remove the outer comparison before appling it to + the inner condtional operands. */ +(for cmp (simple_comparison) + (simplify + (cmp:c (cond @0 @1 @2) @3) + /* Do not move possibly trapping operations into the conditional as this + pessimizes code and causes gimplification issues when applied late. */ + (if (!FLOAT_TYPE_P (TREE_TYPE (@3)) + || !operation_could_trap_p (cmp, true, false, @3)) + (cond @0 (cmp! @1 @3) (cmp! @2 @3))))) +#endif + /* Transform comparisons of the form (X & Y) CMP 0 to X CMP2 Z where ~Y + 1 == pow2 and Z = ~Y. */ (for cst (VECTOR_CST INTEGER_CST) diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc index 88d31a7..06b52ca 100644 --- a/gcc/simplify-rtx.cc +++ b/gcc/simplify-rtx.cc @@ -1709,6 +1709,17 @@ simplify_context::simplify_unary_operation_1 (rtx_code code, machine_mode mode, if (GET_MODE (op) == mode) return op; + /* (zero_extend:SI (and:QI X (const))) -> (and:SI (lowpart:SI X) const) + where const does not sign bit set. */ + if (GET_CODE (op) == AND + && CONST_INT_P (XEXP (op, 1)) + && INTVAL (XEXP (op, 1)) > 0) + { + rtx tem = rtl_hooks.gen_lowpart_no_emit (mode, XEXP (op, 0)); + if (tem) + return simplify_gen_binary (AND, mode, tem, XEXP (op, 1)); + } + /* Check for a zero extension of a subreg of a promoted variable, where the promotion is zero-extended, and the target mode is the same as the variable's promotion. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 47666a9..9896f7f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,168 @@ +2025-04-25 Dimitar Dimitrov <dimitar@dinux.eu> + + * g++.dg/ipa/pr83549.C: Require effective target + variadic_mi_thunk. + * g++.dg/ipa/pr83667.C: Ditto. + * g++.dg/torture/pr81812.C: Ditto. + * g++.old-deja/g++.jason/thunk3.C: Ditto. + * lib/target-supports.exp + (check_effective_target_variadic_mi_thunk): New function. + +2025-04-25 Dimitar Dimitrov <dimitar@dinux.eu> + + * c-c++-common/musttail14.c: Disable test if effective target + using_sjlj_exceptions. + * c-c++-common/musttail22.c: Ditto. + * g++.dg/musttail8.C: Ditto. + * g++.dg/musttail9.C: Ditto. + * g++.dg/opt/musttail3.C: Ditto. + * g++.dg/opt/musttail4.C: Ditto. + * g++.dg/opt/musttail5.C: Ditto. + * g++.dg/opt/pr119613.C: Ditto. + * lib/target-supports.exp + (check_effective_target_using_sjlj_exceptions): New check. + +2025-04-25 Harald Anlauf <anlauf@gmx.de> + + PR fortran/102900 + * gfortran.dg/proc_ptr_52.f90: Add -fcheck=pointer to options. + * gfortran.dg/proc_ptr_57.f90: New test. + +2025-04-25 Jason Merrill <jason@redhat.com> + + PR c++/119764 + PR c++/87185 + * g++.dg/cpp0x/lambda/lambda-noexcept1.C: New test. + +2025-04-25 Jason Merrill <jason@redhat.com> + + * g++.dg/abi/macro0.C: Update for -fabi-version=21. + +2025-04-25 Robert Dubner <rdubner@symas.com> + + * cobol.dg/group2/88_level_with_FALSE_IS_clause.cob: New testcase. + * cobol.dg/group2/88_level_with_FILLER.cob: Likewise. + * cobol.dg/group2/88_level_with_THRU.cob: Likewise. + * cobol.dg/group2/ADD_CORRESPONDING.cob: Likewise. + * cobol.dg/group2/ADD_SUBTRACT_CORR_mixed_fix___float.cob: Likewise. + * cobol.dg/group2/ALPHABETIC-LOWER_test.cob: Likewise. + * cobol.dg/group2/ALPHABETIC_test.cob: Likewise. + * cobol.dg/group2/ALPHABETIC-UPPER_test.cob: Likewise. + * cobol.dg/group2/BLANK_WHEN_ZERO.cob: Likewise. + * cobol.dg/group2/Check_for_equality_of_COMP-1___COMP-2.cob: Likewise. + * cobol.dg/group2/Compare_COMP-2_with_floating-point_literal.cob: Likewise. + * cobol.dg/group2/Contained_program_visibility__3_.cob: Likewise. + * cobol.dg/group2/Contained_program_visibility__4_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__1_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__2_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__3_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__4_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__5_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__6_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__7_.cob: Likewise. + * cobol.dg/group2/Context_sensitive_words__8_.cob: Likewise. + * cobol.dg/group2/debugging_lines__not_active_.cob: Likewise. + * cobol.dg/group2/debugging_lines__WITH_DEBUGGING_MODE_.cob: Likewise. + * cobol.dg/group2/DEBUG_Line.cob: Likewise. + * cobol.dg/group2/DISPLAY_and_assignment_NumericDisplay.cob: Likewise. + * cobol.dg/group2/DISPLAY_data_items_with_MOVE_statement.cob: Likewise. + * cobol.dg/group2/DISPLAY_data_items_with_VALUE_clause.cob: Likewise. + * cobol.dg/group2/DISPLAY_literals__DECIMAL-POINT_is_COMMA.cob: Likewise. + * cobol.dg/group2/GLOBAL_at_lower_level.cob: Likewise. + * cobol.dg/group2/GLOBAL_at_same_level.cob: Likewise. + * cobol.dg/group2/GLOBAL_FD__1_.cob: Likewise. + * cobol.dg/group2/GLOBAL_FD__2_.cob: Likewise. + * cobol.dg/group2/GLOBAL_FD__3_.cob: Likewise. + * cobol.dg/group2/GLOBAL_FD__4_.cob: Likewise. + * cobol.dg/group2/Hexadecimal_literal.cob: Likewise. + * cobol.dg/group2/integer_arithmetic_on_floating-point_var.cob: Likewise. + * cobol.dg/group2/MULTIPLY_BY_literal_in_INITIAL_program.cob: Likewise. + * cobol.dg/group2/Named_conditionals_-_fixed__float__and_alphabetic.cob: Likewise. + * cobol.dg/group2/Numeric_operations__1_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__2_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__3_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__4_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__5_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__7_.cob: Likewise. + * cobol.dg/group2/Numeric_operations__8_.cob: Likewise. + * cobol.dg/group2/ROUNDED_AWAY-FROM-ZERO.cob: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-AWAY-FROM-ZERO.cob: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-EVEN.cob: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-TOWARD-ZERO.cob: Likewise. + * cobol.dg/group2/ROUNDED_TOWARD-GREATER.cob: Likewise. + * cobol.dg/group2/ROUNDED_TOWARD-LESSER.cob: Likewise. + * cobol.dg/group2/ROUNDED_TRUNCATION.cob: Likewise. + * cobol.dg/group2/ROUNDING_omnibus_Floating-Point_from_COMPUTE.cob: Likewise. + * cobol.dg/group2/ROUNDING_omnibus_NumericDisplay_from_COMPUTE.cob: Likewise. + * cobol.dg/group2/Separate_sign_positions__1_.cob: Likewise. + * cobol.dg/group2/Separate_sign_positions__2_.cob: Likewise. + * cobol.dg/group2/Simple_p-scaling.cob: Likewise. + * cobol.dg/group2/Simple_TYPEDEF.cob: Likewise. + * cobol.dg/group2/ADD_SUBTRACT_CORR_mixed_fix___float.out: New known-good result. + * cobol.dg/group2/BLANK_WHEN_ZERO.out: Likewise. + * cobol.dg/group2/Contained_program_visibility__4_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__1_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__2_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__3_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__4_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__5_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__6_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__7_.out: Likewise. + * cobol.dg/group2/Context_sensitive_words__8_.out: Likewise. + * cobol.dg/group2/debugging_lines__not_active_.out: Likewise. + * cobol.dg/group2/debugging_lines__WITH_DEBUGGING_MODE_.out: Likewise. + * cobol.dg/group2/DEBUG_Line.out: Likewise. + * cobol.dg/group2/DISPLAY_and_assignment_NumericDisplay.out: Likewise. + * cobol.dg/group2/DISPLAY_data_items_with_MOVE_statement.out: Likewise. + * cobol.dg/group2/DISPLAY_data_items_with_VALUE_clause.out: Likewise. + * cobol.dg/group2/DISPLAY_literals__DECIMAL-POINT_is_COMMA.out: Likewise. + * cobol.dg/group2/GLOBAL_at_lower_level.out: Likewise. + * cobol.dg/group2/GLOBAL_at_same_level.out: Likewise. + * cobol.dg/group2/Hexadecimal_literal.out: Likewise. + * cobol.dg/group2/Named_conditionals_-_fixed__float__and_alphabetic.out: Likewise. + * cobol.dg/group2/ROUNDED_AWAY-FROM-ZERO.out: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-AWAY-FROM-ZERO.out: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-EVEN.out: Likewise. + * cobol.dg/group2/ROUNDED_NEAREST-TOWARD-ZERO.out: Likewise. + * cobol.dg/group2/ROUNDED_TOWARD-GREATER.out: Likewise. + * cobol.dg/group2/ROUNDED_TOWARD-LESSER.out: Likewise. + * cobol.dg/group2/ROUNDED_TRUNCATION.out: Likewise. + * cobol.dg/group2/ROUNDING_omnibus_Floating-Point_from_COMPUTE.out: Likewise. + * cobol.dg/group2/ROUNDING_omnibus_NumericDisplay_from_COMPUTE.out: Likewise. + * cobol.dg/group2/Separate_sign_positions__1_.out: Likewise. + * cobol.dg/group2/Separate_sign_positions__2_.out: Likewise. + * cobol.dg/group2/Simple_p-scaling.out: Likewise. + +2025-04-25 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/pr116479.c: New test. + +2025-04-25 Jakub Jelinek <jakub@redhat.com> + + PR target/119873 + * gcc.target/s390/pr119873-5.c: New test. + +2025-04-25 Jason Merrill <jason@redhat.com> + + * g++.dg/template/recurse5.C: New test. + +2025-04-25 Yuriy Kolerov <Yuriy.Kolerov@synopsys.com> + + PR target/119122 + * gcc.target/riscv/arch-25.c: Fix dg-error expectation. + * gcc.target/riscv/attribute-c-1.c: New test. + * gcc.target/riscv/attribute-c-2.c: New test. + * gcc.target/riscv/attribute-c-3.c: New test. + * gcc.target/riscv/attribute-c-4.c: New test. + * gcc.target/riscv/attribute-c-5.c: New test. + * gcc.target/riscv/attribute-c-6.c: New test. + * gcc.target/riscv/attribute-c-7.c: New test. + * gcc.target/riscv/attribute-c-8.c: New test. + * gcc.target/riscv/attribute-zce-1.c: Update Zce tests. + * gcc.target/riscv/attribute-zce-2.c: Likewise. + * gcc.target/riscv/attribute-zce-3.c: Likewise + * gcc.target/riscv/attribute-zce-4.c: Likewise. + 2025-04-24 Jakub Jelinek <jakub@redhat.com> Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> diff --git a/gcc/testsuite/c-c++-common/musttail14.c b/gcc/testsuite/c-c++-common/musttail14.c index 56a52b8..5bda742 100644 --- a/gcc/testsuite/c-c++-common/musttail14.c +++ b/gcc/testsuite/c-c++-common/musttail14.c @@ -1,5 +1,5 @@ /* PR tree-optimization/118430 */ -/* { dg-do compile { target musttail } } */ +/* { dg-do compile { target { musttail && { ! using_sjlj_exceptions } } } } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ /* { dg-final { scan-tree-dump-times " \[^\n\r]* = bar \\\(\[^\n\r]*\\\); \\\[tail call\\\] \\\[must tail call\\\]" 1 "optimized" } } */ /* { dg-final { scan-tree-dump-times " \[^\n\r]* = freddy \\\(\[^\n\r]*\\\); \\\[tail call\\\] \\\[must tail call\\\]" 1 "optimized" } } */ diff --git a/gcc/testsuite/c-c++-common/musttail22.c b/gcc/testsuite/c-c++-common/musttail22.c index eb81249..7dc0f19 100644 --- a/gcc/testsuite/c-c++-common/musttail22.c +++ b/gcc/testsuite/c-c++-common/musttail22.c @@ -1,5 +1,5 @@ /* PR tree-optimization/118430 */ -/* { dg-do compile { target musttail } } */ +/* { dg-do compile { target { musttail && { ! using_sjlj_exceptions } } } } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ /* { dg-final { scan-tree-dump-times " \[^\n\r]* = bar \\\(\[^\n\r]*\\\); \\\[tail call\\\] \\\[must tail call\\\]" 1 "optimized" } } */ /* { dg-final { scan-tree-dump-times " \[^\n\r]* = freddy \\\(\[^\n\r]*\\\); \\\[tail call\\\] \\\[must tail call\\\]" 1 "optimized" } } */ diff --git a/gcc/testsuite/g++.dg/ipa/pr83549.C b/gcc/testsuite/g++.dg/ipa/pr83549.C index 90cf8fe..3b4547b 100644 --- a/gcc/testsuite/g++.dg/ipa/pr83549.C +++ b/gcc/testsuite/g++.dg/ipa/pr83549.C @@ -1,5 +1,6 @@ // PR ipa/83549 // { dg-do compile } +// { dg-require-effective-target variadic_mi_thunk } // { dg-options "-O2" } struct A { virtual ~A (); }; diff --git a/gcc/testsuite/g++.dg/ipa/pr83667.C b/gcc/testsuite/g++.dg/ipa/pr83667.C index a8a5a5a..ec91a2e 100644 --- a/gcc/testsuite/g++.dg/ipa/pr83667.C +++ b/gcc/testsuite/g++.dg/ipa/pr83667.C @@ -1,6 +1,7 @@ // { dg-require-alias "" } // { dg-options "-fdump-ipa-inline" } // c++/83667 ICE dumping a static thunk when TARGET_USE_LOCAL_THUNK_ALIAS_P +// { dg-require-effective-target variadic_mi_thunk } struct a diff --git a/gcc/testsuite/g++.dg/musttail8.C b/gcc/testsuite/g++.dg/musttail8.C index 0f1b68b..18de9c8 100644 --- a/gcc/testsuite/g++.dg/musttail8.C +++ b/gcc/testsuite/g++.dg/musttail8.C @@ -1,4 +1,4 @@ -/* { dg-do compile { target { musttail } } } */ +/* { dg-do compile { target { musttail && { ! using_sjlj_exceptions } } } } */ /* { dg-options "-std=gnu++11" } */ /* { dg-additional-options "-fdelayed-branch" { target sparc*-*-* } } */ diff --git a/gcc/testsuite/g++.dg/musttail9.C b/gcc/testsuite/g++.dg/musttail9.C index 85937dc..1c3a744 100644 --- a/gcc/testsuite/g++.dg/musttail9.C +++ b/gcc/testsuite/g++.dg/musttail9.C @@ -1,4 +1,4 @@ -/* { dg-do compile { target { musttail } } } */ +/* { dg-do compile { target { musttail && { ! using_sjlj_exceptions } } } } */ /* { dg-options "-std=gnu++11" } */ /* { dg-additional-options "-fdelayed-branch" { target sparc*-*-* } } */ diff --git a/gcc/testsuite/g++.dg/opt/musttail3.C b/gcc/testsuite/g++.dg/opt/musttail3.C index 1c4e549..a2db447 100644 --- a/gcc/testsuite/g++.dg/opt/musttail3.C +++ b/gcc/testsuite/g++.dg/opt/musttail3.C @@ -1,5 +1,5 @@ // PR tree-optimization/119491 -// { dg-do compile { target { external_musttail && c++11 } } } +// { dg-do compile { target { external_musttail && { c++11 && { ! using_sjlj_exceptions } } } } } // { dg-options "-O2" } struct A { diff --git a/gcc/testsuite/g++.dg/opt/musttail4.C b/gcc/testsuite/g++.dg/opt/musttail4.C index ede2959..3362ccc 100644 --- a/gcc/testsuite/g++.dg/opt/musttail4.C +++ b/gcc/testsuite/g++.dg/opt/musttail4.C @@ -1,4 +1,4 @@ -// { dg-do compile { target { external_musttail && c++11 } } } +// { dg-do compile { target { external_musttail && { c++11 && { ! using_sjlj_exceptions } } } } } // { dg-options "-O2 -fexceptions" } struct S { ~S (); }; diff --git a/gcc/testsuite/g++.dg/opt/musttail5.C b/gcc/testsuite/g++.dg/opt/musttail5.C index 604dd69..10e8d94 100644 --- a/gcc/testsuite/g++.dg/opt/musttail5.C +++ b/gcc/testsuite/g++.dg/opt/musttail5.C @@ -1,5 +1,5 @@ // PR tree-optimization/119491 -// { dg-do compile { target { external_musttail && c++11 } } } +// { dg-do compile { target { external_musttail && { c++11 && { ! using_sjlj_exceptions } } } } } // { dg-options "-O2" } struct A { diff --git a/gcc/testsuite/g++.dg/opt/pr119613.C b/gcc/testsuite/g++.dg/opt/pr119613.C index 2ced2e8..c3657eb 100644 --- a/gcc/testsuite/g++.dg/opt/pr119613.C +++ b/gcc/testsuite/g++.dg/opt/pr119613.C @@ -1,5 +1,5 @@ // PR middle-end/119613 -// { dg-do compile { target { musttail && c++11 } } } +// { dg-do compile { target { musttail && { c++11 && { ! using_sjlj_exceptions } } } } } // { dg-options "-O0" } struct S { S () {} }; diff --git a/gcc/testsuite/g++.dg/torture/pr81812.C b/gcc/testsuite/g++.dg/torture/pr81812.C index b5c621d..80aed8e 100644 --- a/gcc/testsuite/g++.dg/torture/pr81812.C +++ b/gcc/testsuite/g++.dg/torture/pr81812.C @@ -1,4 +1,5 @@ // { dg-xfail-if "PR108277" { arm_thumb1 } } +// { dg-require-effective-target variadic_mi_thunk } struct Error { virtual void error(... ) const; diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C index 4e684f9..e894194 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C @@ -1,5 +1,6 @@ // { dg-do run } -// { dg-skip-if "fails with generic thunk support" { rs6000-*-* powerpc-*-eabi v850-*-* sh-*-* h8*-*-* xtensa*-*-* m32r*-*-* lm32-*-* } } +// { dg-skip-if "fails with generic thunk support" { rs6000-*-* powerpc-*-eabi sh-*-* xtensa*-*-* } } +// { dg-require-effective-target variadic_mi_thunk } // Test that variadic function calls using thunks work right. // Note that this will break on any target that uses the generic thunk // support, because it doesn't support variadic functions. diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_52.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_52.f90 index cb7cf70..421d247 100644 --- a/gcc/testsuite/gfortran.dg/proc_ptr_52.f90 +++ b/gcc/testsuite/gfortran.dg/proc_ptr_52.f90 @@ -1,4 +1,5 @@ ! { dg-do run } +! { dg-additional-options "-fcheck=pointer" } ! ! Test the fix for PRs93924 & 93925. ! diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_57.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_57.f90 new file mode 100644 index 0000000..7ecb88f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_ptr_57.f90 @@ -0,0 +1,36 @@ +! { dg-do compile } +! { dg-additional-options "-fcheck=pointer" } +! +! PR fortran/102900 + +module cs + implicit none + interface + function classStar_map_ifc() result(y) + import + class(*), pointer :: y + end function classStar_map_ifc + end interface + +contains + + function selector() + procedure(classStar_map_ifc), pointer :: selector + selector => NULL() + end function selector + + function selector_result() result(f) + procedure(classStar_map_ifc), pointer :: f + f => NULL() + end function selector_result + + function fun(x) result(y) + class(*), pointer :: y + class(*), target, intent(in) :: x + select type (x) + class default + y => null() + end select + end function fun + +end module cs diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 869d150..287e51b 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -659,6 +659,37 @@ proc check_effective_target_trampolines { } { return 1 } +# Return 1 if target supports calling virtual variadic methods +# of multi-inheritance classes. + +proc check_effective_target_variadic_mi_thunk { } { + # These targets do not implement TARGET_ASM_OUTPUT_MI_THUNK. + if { [istarget avr-*-*] + || [istarget bpf-*-*] + || [istarget fr30-*-*] + || [istarget ft32-*-*] + || [istarget amdgcn-*-*] + || [istarget h8300-*-*] + || [istarget iq2000-*-*] + || [istarget lm32-*-*] + || [istarget m32c-*-*] + || [istarget m32r-*-*] + || [istarget mcore-*-*] + || [istarget moxie-*-*] + || [istarget msp430-*-*] + || [istarget nvptx-*-*] + || [istarget pdp11-*-*] + || [istarget pru-*-*] + || [istarget rl78-*-*] + || [istarget rx-*-*] + || [istarget v850-*-*] + || [istarget visium-*-*] } { + + return 0; + } + return 1 +} + # Return 1 if target has limited stack size. proc check_effective_target_stack_size { } { @@ -12632,6 +12663,18 @@ proc check_effective_target_exceptions_enabled {} { }] } +# Returns 1 if target uses setjump/longjump for implementing exceptions, +# 0 otherwise. +proc check_effective_target_using_sjlj_exceptions {} { + return [check_no_compiler_messages using_sjlj_exceptions assembly { + // C++ + #if !defined __USING_SJLJ_EXCEPTIONS__ + #error not using SJLJ exception implementation + #endif + int dummy; + }] +} + proc check_effective_target_tiny {} { return [check_cached_effective_target tiny { if { [istarget aarch64*-*-*] diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 66feed5..dc90779 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,11 @@ +2025-04-25 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119853 + PR target/119854 + * config/gcn/crt0.c (_fini_array): Call + '__GCC_offload___cxa_finalize'. + * config/nvptx/gbl-ctors.c (__static_do_global_dtors): Likewise. + 2025-04-19 Jiaxun Yang <jiaxun.yang@flygoat.com> PR target/118257 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 49a62d4..d7f2a1a 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,42 @@ +2025-04-25 Andrew Stubbs <ams@baylibre.com> + + * testsuite/libgomp.c/interop-hsa.c: New test. + +2025-04-25 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119853 + PR target/119854 + * target-cxa-dso-dtor.c: New. + * config/accel/target-cxa-dso-dtor.c: Likewise. + * Makefile.am (libgomp_la_SOURCES): Add it. + * Makefile.in: Regenerate. + * testsuite/libgomp.c++/target-cdtor-1.C: New. + * testsuite/libgomp.c++/target-cdtor-2.C: Likewise. + +2025-04-25 Thomas Schwinge <tschwinge@baylibre.com> + + * testsuite/libgomp.c-c++-common/target-cdtor-1.c: New. + +2025-04-25 Andrew Pinski <quic_apinski@quicinc.com> + Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119737 + * testsuite/libgomp.c++/target-exceptions-throw-1.C: Remove + PR119737 XFAILing. + * testsuite/libgomp.c++/target-exceptions-throw-2.C: Likewise. + * testsuite/libgomp.oacc-c++/exceptions-throw-1.C: Likewise. + * testsuite/libgomp.oacc-c++/exceptions-throw-2.C: Likewise. + +2025-04-25 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/118794 + * testsuite/libgomp.c++/target-exceptions-pr118794-1.C: Adjust for + 'targetm.arm_eabi_unwinder'. + * testsuite/libgomp.c++/target-exceptions-pr118794-1-offload-sorry-GCN.C: + Likewise. + * testsuite/libgomp.c++/target-exceptions-pr118794-1-offload-sorry-nvptx.C: + Likewise. + 2025-04-24 Tobias Burnus <tburnus@baylibre.com> * testsuite/lib/libgomp.exp diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6433d3f..7458220 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,143 @@ +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (to_address): Use markdown for + formatting in Doxygen comments. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/Makefile.am: Add prerequisites for targets that + depend on string-inst.cc. + * src/c++11/Makefile.in: Regenerate. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/move.h (addressof): Use __builtin_addressof + directly. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Remove dg-error directives for additional c++26 errors. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/latch (latch::_M_a): Rename to _M_counter. + +2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/109162 + * include/bits/formatfwd.h (__simply_formattable_range): Moved from + std/format. + * include/std/format (__formatter_str::_format): Extracted escaped + string handling to separate method... + (__formatter_str::_M_format_escaped): Use __Padding_sink. + (__formatter_str::_M_format): Adjusted implementation. + (__formatter_str::_S_trunc): Extracted as namespace function... + (__format::_truncate): Extracted from __formatter_str::_S_trunc. + (__format::_Seq_sink): Removed forward declarations, made members + protected and non-final. + (_Seq_sink::_M_trim): Define. + (_Seq_sink::_M_span): Renamed from view. + (_Seq_sink::view): Returns string_view instead of span. + (__format::_Str_sink): Moved after _Seq_sink. + (__format::__format_padded): Use _Padding_sink. + * testsuite/std/format/debug.cc: Add timeout and new tests. + * testsuite/std/format/ranges/sequence.cc: Specify unicode as + encoding and new tests. + * testsuite/std/format/ranges/string.cc: Likewise. + * testsuite/std/format/tuple.cc: Likewise. + +2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com> + + * testsuite/std/format/ranges/adaptors.cc: Updated test. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/22_locale/ctype/is/string/89728_neg.cc: Remove + dg-error for c++98_only effective target. + +2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119918 + * include/bits/formatfwd.h (__format::_Align): Moved from std/format. + (std::__throw_format_error, __format::__formatter_str) + (__format::__formatter_ptr): Declare. + * include/std/format (__format::_Align): Moved to bits/formatfwd.h. + (__formatter_int::__formatter_int): Define. + (__format::__formatter_ptr): Extracted from formatter for const void*. + (std::formatter<const void*, _CharT>, formatter<void*, _CharT>) + (std::formatter<nullptr_t, _CharT>): Delegate to __formatter_ptr<_CharT>. + * include/std/thread (std::formatter<thread::id, _CharT>): Constrain + _CharT template parameter. + (formatter<thread::id, _CharT>::parse): Specify default aligment, and + qualify __throw_format_error to disable ADL. + (formatter<thread::id, _CharT>::format): Use formatters to write directly + to output. + * testsuite/30_threads/thread/id/output.cc: Tests for formatting thread::id + representing not-a-thread with padding and formattable concept. + +2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/109162 + * include/bits/version.def (format_ranges): Remove no_stdname and + update value. + * include/bits/version.h: Regenerate. + * src/c++23/std.cc.in: Replace __glibcxx_format_ranges with + __cpp_lib_format_ranges. + * testsuite/std/format/formatter/lwg3944.cc: Likewise. + * testsuite/std/format/parse_ctx.cc: Likewise. + * testsuite/std/format/string.cc: Likewise. + * testsuite/std/format/ranges/feature_test.cc: New test. + +2025-04-25 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/109162 + * include/bits/formatfwd.h (__format::__parsable_with) + (__format::__formattable_with, __format::__formattable_impl) + (__format::__has_debug_format, __format::__const_formattable_range) + (__format::__maybe_const_range, __format::__maybe_const) + (std::formattable): Moved from std/format. + (__format::Iter_for, std::range_formatter): Forward declare. + * include/bits/stl_queue.h (std::formatter): Forward declare. + (std::queue, std::priority_queue): Befriend formatter specializations. + * include/bits/stl_stack.h (std::formatter): Forward declare. + (std::stack): Befriend formatter specializations. + * include/std/format (__format::_Iter_for): Define as struct with + (__format::__parsable_with, __format::__formattable_with) + (__format::__formattable_impl, __format::__has_debug_format) + (_format::__const_formattable_range, __format::__maybe_const_range) + (__format::__maybe_const, std::formattable): Moved to bits/formatfwd.h. + (std::range_formatter): Remove default argument specified in declaration + in bits/formatfwd.h. + * include/std/queue: Include bits/version.h before bits/stl_queue.h. + (formatter<queue<_Tp, _Container, _Compare>, _CharT>) + (formatter<priority_queue<_Tp, _Container, _Compare>, _CharT>): Define. + * include/std/stack: Include bits/version.h before bits/stl_stack.h + (formatter<stack<_Tp, _Container, _Compare>, _CharT>): Define. + * testsuite/std/format/ranges/adaptors.cc: New test. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/future (__future_base::_Task_state): Check + invocable requirement here. + (__future_base::_Task_state::_S_create): New static member + function. + (__future_base::_Task_state::_M_reset): Use _S_create. + (__create_task_state): Remove. + (packaged_task): Use _Task_state::_S_create instead of + __create_task_state. + * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: + Adjust dg-error patterns. + * testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc: + Likewise. + +2025-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_tree.h (_Rb_tree::_M_key_compare): New member + function to invoke comparison function. + (_Rb_tree): Use new member function instead of accessing the + comparison function directly. + 2025-04-24 Jonathan Wakely <jwakely@redhat.com> * testsuite/23_containers/forward_list/48101_neg.cc: Remove diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index e91b003..085ca07 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -174,7 +174,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION [[__nodiscard__,__gnu__::__always_inline__]] inline _GLIBCXX17_CONSTEXPR _Tp* addressof(_Tp& __r) noexcept - { return std::__addressof(__r); } + { return __builtin_addressof(__r); } // _GLIBCXX_RESOLVE_LIB_DEFECTS // 2598. addressof works on temporaries diff --git a/libstdc++-v3/include/bits/ptr_traits.h b/libstdc++-v3/include/bits/ptr_traits.h index d3c1765..4308669 100644 --- a/libstdc++-v3/include/bits/ptr_traits.h +++ b/libstdc++-v3/include/bits/ptr_traits.h @@ -223,7 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** * @brief Obtain address referenced by a pointer to an object * @param __ptr A pointer to an object - * @return @c __ptr + * @return `__ptr` * @ingroup pointer_abstractions */ template<typename _Tp> @@ -239,8 +239,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** * @brief Obtain address referenced by a pointer to an object * @param __ptr A pointer to an object - * @return @c pointer_traits<_Ptr>::to_address(__ptr) if that expression is - well-formed, otherwise @c to_address(__ptr.operator->()) + * @return `pointer_traits<_Ptr>::to_address(__ptr)` if that expression is + * well-formed, otherwise `to_address(__ptr.operator->())`. * @ingroup pointer_abstractions */ template<typename _Ptr> diff --git a/libstdc++-v3/src/c++11/Makefile.am b/libstdc++-v3/src/c++11/Makefile.am index b391158..26d6fa0 100644 --- a/libstdc++-v3/src/c++11/Makefile.am +++ b/libstdc++-v3/src/c++11/Makefile.am @@ -168,7 +168,15 @@ localename.lo: localename.cc localename.o: localename.cc $(CXXCOMPILE) -fchar8_t -c $< +wstring-inst.lo: wstring-inst.cc string-inst.cc +wstring-inst.o: wstring-inst.cc string-inst.cc + if ENABLE_DUAL_ABI +cow-string-inst.lo: cow-string-inst.cc string-inst.cc +cow-string-inst.o: cow-string-inst.cc string-inst.cc +cow-wstring-inst.lo: cow-wstring-inst.cc string-inst.cc +cow-wstring-inst.o: cow-wstring-inst.cc string-inst.cc + # Rewrite the type info for __ios_failure. rewrite_ios_failure_typeinfo = sed -e '/^_*_ZTISt13__ios_failure:/,/_ZTVN10__cxxabiv120__si_class_type_infoE/s/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/' diff --git a/libstdc++-v3/src/c++11/Makefile.in b/libstdc++-v3/src/c++11/Makefile.in index 770e948..dafdb26 100644 --- a/libstdc++-v3/src/c++11/Makefile.in +++ b/libstdc++-v3/src/c++11/Makefile.in @@ -896,6 +896,14 @@ localename.lo: localename.cc localename.o: localename.cc $(CXXCOMPILE) -fchar8_t -c $< +wstring-inst.lo: wstring-inst.cc string-inst.cc +wstring-inst.o: wstring-inst.cc string-inst.cc + +@ENABLE_DUAL_ABI_TRUE@cow-string-inst.lo: cow-string-inst.cc string-inst.cc +@ENABLE_DUAL_ABI_TRUE@cow-string-inst.o: cow-string-inst.cc string-inst.cc +@ENABLE_DUAL_ABI_TRUE@cow-wstring-inst.lo: cow-wstring-inst.cc string-inst.cc +@ENABLE_DUAL_ABI_TRUE@cow-wstring-inst.o: cow-wstring-inst.cc string-inst.cc + @ENABLE_DUAL_ABI_TRUE@cxx11-ios_failure-lt.s: cxx11-ios_failure.cc @ENABLE_DUAL_ABI_TRUE@ $(LTCXXCOMPILE) -gno-as-loc-support -S $< -o tmp-cxx11-ios_failure-lt.s @ENABLE_DUAL_ABI_TRUE@ -test -f tmp-cxx11-ios_failure-lt.o && mv -f tmp-cxx11-ios_failure-lt.o tmp-cxx11-ios_failure-lt.s diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc index 7b5ede4..03fad14 100644 --- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc +++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc @@ -39,9 +39,6 @@ void test01() // { dg-error "incomplete" "" { target *-*-* } 600 } } -// { dg-error "-Wdelete-incomplete" "" { target c++26 } 283 } -// { dg-error "-Wdelete-incomplete" "" { target c++26 } 305 } - // Ignore additional diagnostic given with -Wsystem-headers: // { dg-prune-output "has incomplete type" } // { dg-prune-output "possible problem detected" } diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 3c33199..f8b9f8d 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,8 @@ +2025-04-25 Jakub Jelinek <jakub@redhat.com> + + * gcc_release: Allow optional \[[0-9]+\] before GCC major.minor + in the NEWS file. + 2025-04-17 Jakub Jelinek <jakub@redhat.com> * crontab: Snapshots from trunk are now GCC 16 related. |