diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ChangeLog | 129 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 36 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 27 | ||||
-rw-r--r-- | gcc/po/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/po/sv.po | 24 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 44 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice33.C | 12 | ||||
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | libcpp/po/ChangeLog | 4 | ||||
-rw-r--r-- | libcpp/po/es.po | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | libgcc/config/libbid/bid128_string.c | 121 | ||||
-rw-r--r-- | libgomp/ChangeLog | 13 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog | 107 |
15 files changed, 468 insertions, 71 deletions
@@ -1,3 +1,7 @@ +2025-05-14 Richard Earnshaw <rearnsha@arm.com> + + * MAINTAINERS: Marcus Shawcroft has resigned from the project. + 2025-04-28 Kwok Cheung Yeung <kcyeung@baylibre.com> * MAINTAINERS (kcy): Add gcc.gnu.org username. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d475eee..9539184 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,132 @@ +2025-05-14 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (record_stmt_cost): Remove mixed + stmt_vec_info/SLP node inline overload. + * tree-vect-stmts.cc (vectorizable_store): For costing + vector stmts only pass SLP node to record_stmt_cost. + (vectorizable_load): Likewise. + +2025-05-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vect_get_store_cost): Compute vectype based + on whether we got SLP node or stmt_vec_info and use the full + record_stmt_cost API. + (vect_get_load_cost): Likewise. + +2025-05-14 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::riscv_subset_list): Init m_allow_adding_dup. + +2025-05-14 Jiawei <jiawei@iscas.ac.cn> + + * config/riscv/riscv-ext.def: New extension defs. + * config/riscv/riscv-ext.opt: Ditto. + * doc/riscv-ext.texi: Ditto. + +2025-05-14 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/t-riscv: Drop duplicate build rule for + riscv-ext.opt. + +2025-05-14 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-ext.opt.urls: Regenerate. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-cfgcleanup.cc (canonicalize_bool_cond): New function. + (cleanup_control_expr_graph): Call canonicalize_bool_cond for GIMPLE_COND. + * tree-cfgcleanup.h (canonicalize_bool_cond): New declaration. + * tree-ssa-forwprop.cc (forward_propagate_into_gimple_cond): + Call canonicalize_bool_cond. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple.h (gimple_cond_set_code): Add assert of the code + being a comparison. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-forwprop.cc (forward_propagate_into_gimple_cond): Assert + that gimple_cond_code is always a comparison. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-fold.cc (replace_stmt_with_simplification): Check cfun before + accessing cfun. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-forwprop.cc (pass_forwprop::execute): Move marking of to_purge bb + and marking of fixup statements to after the local optimizations. + +2025-05-14 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-forwprop.cc (pass_forwprop::execute): Use `|=` for + changed on the local folding. + +2025-05-14 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (record_stmt_cost): Add overload with + only SLP node and no vector type. + * tree-vect-stmts.cc (record_stmt_cost): Use + SLP_TREE_REPRESENTATIVE for stmt_vec_info. + (vect_model_simple_cost): Do not get stmt_vec_info argument + and adjust. + (vectorizable_call): Adjust. + (vectorizable_simd_clone_call): Likewise. + (vectorizable_conversion): Likewise. + (vectorizable_assignment): Likewise. + (vectorizable_shift): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_condition): Likewise. + (vectorizable_comparison_1): Likewise. + * tree-vect-slp.cc (vect_prologue_cost_for_slp): Use + full-blown record_stmt_cost. + +2025-05-14 liuhongt <hongtao.liu@intel.com> + + PR target/120215 + * config/i386/i386-features.cc + (scalar_chain::mark_dual_mode_def): Weight + cost of integer<->sse move with bb frequency when it's + optimized_for_speed_p. + (general_scalar_chain::compute_convert_gain): Ditto, and + adjust function prototype to return true/false when cost model + is profitable or not. + (timode_scalar_chain::compute_convert_gain): Ditto. + (convert_scalars_to_vector): Adjust after the upper two + function prototype are changed. + * config/i386/i386-features.h (class scalar_chain): Change + n_integer_to_sse/n_sse_to_integer to cost_sse_integer, and add + weighted_cost_sse_integer. + (class general_scalar_chain): Adjust prototype to return bool + intead of int. + (class timode_scalar_chain): Ditto. + +2025-05-14 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/111873 + * tree-sra.cc (sra_modify_expr): When processing a load which has + a type-incompatible replacement, do not store the contents of the + replacement into the original aggregate when that aggregate is + const. + +2025-05-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/vector.md: Fix tf_to_fprx2 by using vlr instead of + ldr. + +2025-05-14 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/103771 + * match.pd (cond_expr_convert_p): Extend the match to handle + scalar floating point type. + * tree-vect-patterns.cc + (vect_recog_cond_expr_convert_pattern): Handle floating point + type. + 2025-05-13 Andrew Pinski <quic_apinski@quicinc.com> PR tree-optimization/119903 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index cfb9239..63e8d5b 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250514 +20250515 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 764e158..340552f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,39 @@ +2025-05-14 Ville Voutilainen <ville.voutilainen@gmail.com> + + * cp-gimplify.cc (cp_fold): Remove a remnant comment. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/120125 + * module.cc (trees_out::write_function_def): Only set + DECL_NOT_REALLY_EXTERN if the importer might need to emit it. + * optimize.cc (maybe_thunk_body): Don't assume 'fn' has a cgraph + node created. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/119864 + * decl2.cc (start_objects): Only use module initialized for + host. + (c_parse_final_cleanups): Don't always create an OMP offload + init function in modules. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (lookup_imported_hidden_friend): Add back + lazy_load_pendings with comment. + +2025-05-14 Ville Voutilainen <ville.voutilainen@gmail.com> + + * cp-gimplify.cc (cp_fold): Add to_underlying. + +2025-05-14 Owen Avery <powerboat9.gamer@gmail.com> + Jason Merrill <jason@redhat.com> + + * method.cc (synthesized_method_walk): Check whether + -Wvirtual-move-assign is enabled at the location of a base + class's move assignment operator. + 2025-05-12 Jason Merrill <jason@redhat.com> PR c++/120012 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8b82b20..15b51e1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,30 @@ +2025-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/120139 + * dump-parse-tree.cc (get_c_type_name): If no constant + size of an array exists, output an asterisk. + +2025-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/120107 + * dump-parse-tree.cc (write_type): Do not dump non-interoperable + types. + +2025-05-14 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/120225 + * simplify.cc (gfc_simplify_cotand): Fix used argument in + mpfr_tanu call. + +2025-05-14 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/120225 + * simplify.cc: Include "trigd_fe.inc" only with MPFR < 4.2.0. + (rad2deg, rad2deg): Only define if MPFR < 4.2.0. + (gfc_simplify_acosd, gfc_simplify_asind, gfc_simplify_atand, + gfc_simplify_atan2d, gfc_simplify_cosd, gfc_simplify_tand, + gfc_simplify_cotand): Use mpfr_...u functions with MPFR >= 4.2.0. + 2025-05-13 Yuao Ma <c8ef@outlook.com> Steven G. Kargl <kargl@gcc.gnu.org> diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index cfc235c..809dc01 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,7 @@ +2025-05-14 Joseph Myers <josmyers@redhat.com> + + * sv.po: Update. + 2025-05-12 Joseph Myers <josmyers@redhat.com> * sv.po: Update. diff --git a/gcc/po/sv.po b/gcc/po/sv.po index 31e5502..28318cd 100644 --- a/gcc/po/sv.po +++ b/gcc/po/sv.po @@ -32,7 +32,7 @@ msgstr "" "Project-Id-Version: gcc 15.1.0\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" "POT-Creation-Date: 2025-04-23 19:27+0000\n" -"PO-Revision-Date: 2025-05-10 14:36+0200\n" +"PO-Revision-Date: 2025-05-14 22:41+0200\n" "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -2732,7 +2732,7 @@ msgstr "Varna för avslutande blanktecken på rader utom i råa stränglitterale #: c-family/c.opt:1523 #, no-c-format msgid "Warn about trailing whitespace on lines except when in raw string literals. Equivalent to Wtrailing-whitespace=blanks when enabled or Wtrailing-whitespace=none when disabled." -msgstr "Varna för avslutande mellanrum på rader utom i råa strängliteraler. Ekvivalent med Wtrailing-whitespace=blanks när det är aktiverat eller Wtrailing-whitespace=none när det är avaktiverat." +msgstr "Varna för avslutande mellanrum på rader utom i råa stränglitteraler. Ekvivalent med Wtrailing-whitespace=blanks när det är aktiverat eller Wtrailing-whitespace=none när det är avaktiverat." #: c-family/c.opt:1527 #, no-c-format @@ -3864,7 +3864,7 @@ msgstr "-finternal-ebcdic\tIntern bearbetning är i EBCDIC kodsida 1140" #: cobol/lang.opt:94 #, no-c-format msgid "Enable/disable static linkage for CALL literals" -msgstr "Aktivera/avaktivera statisk länkning för CALL-literaler" +msgstr "Aktivera/avaktivera statisk länkning för CALL-litteraler" #: cobol/lang.opt:98 #, no-c-format @@ -4719,7 +4719,7 @@ msgstr "Det maximala djupet av exploderade noder som skall förekomma i en dot-d #: analyzer/analyzer.opt:59 #, no-c-format msgid "The number of bytes at which to ellipsize string literals in analyzer text art diagrams." -msgstr "Antalet byte vid vilket strängliteraler i textkonstdiagram från analyseraren skall ha ellips." +msgstr "Antalet byte vid vilket stränglitteraler i textkonstdiagram från analyseraren skall ha ellips." #: analyzer/analyzer.opt:63 #, no-c-format @@ -6677,7 +6677,7 @@ msgstr "Parameter för att styra vilka återskrivningsmöjligheter vi försöker #: config/aarch64/aarch64.opt:437 #, no-c-format msgid "Warn about usage of experimental Function Multi Versioning." -msgstr "Varna för användning av experminetell funktionsmultiversionering." +msgstr "Varna för användning av experimentell funktionsmultiversionering." #: config/linux.opt:24 #, no-c-format @@ -8848,7 +8848,7 @@ msgstr "Gör så att länkarens lättnadsmaskin antar att programräknaren slår #: config/avr/avr.opt:112 #, no-c-format msgid "Optimization. Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue. Without this option, outgoing arguments are pushed before calling a function and popped afterwards. This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf." -msgstr "Optimering. Samla utgående funktionsargument och ta/släpp det nödvändiga stackutrymmet för utgående funktionsargument i funktionsprologen/-epilogen. Utan denna flagga trycks utgående argument på stacken före anrop av en funktion och plockas efteråt. Denna flagga kan medföra reducerad kodstorlek för funktioner som anropar många funktioner som får sina argument på stacken som, till exempel printf." +msgstr "Optimering. Samla utgående funktionsargument och ta/släpp det nödvändiga stackutrymmet för utgående funktionsargument i funktionsprologen/-epilogen. Utan denna flagga trycks utgående argument på stacken före anrop av en funktion och plockas efteråt. Denna flagga kan medföra reducerad kodstorlek för funktioner som anropar många funktioner som får sina argument på stacken, som till exempel printf." #: config/avr/avr.opt:116 #, no-c-format @@ -8878,7 +8878,7 @@ msgstr "Enheten har sektionen .rodata placerad i RAM-området." #: config/avr/avr.opt:137 #, no-c-format msgid "This option is used internally for multilib generation and selection. The device has no SPH special function register." -msgstr "Denna flagga används internt för multilib-generering och -val. Enheten har inga speiciella SPH-fuktionsregister." +msgstr "Denna flagga används internt för multilib-generering och -val. Enheten har inga speciella SPH-fuktionsregister." #: config/avr/avr.opt:141 #, no-c-format @@ -14856,7 +14856,7 @@ msgstr "Skriv en KÄLLFIL.opt-record.json-fil med detaljer om vilka optimeringar #: common.opt:2469 #, no-c-format msgid "Detect loops calculating CRC and replace with faster implementation. If the target supports CRC instruction and the CRC loop uses the same polynomial as the one used in the CRC instruction, directly replace with the corresponding CRC instruction. Otherwise, if the target supports carry-less-multiplication instruction, generate CRC using it. If neither case applies, generate table-based CRC." -msgstr "Upptäck slingor som beräknar CRC och ersätt dem med en snabbare implementation. Om målet stödjer en CRC-instruktion och CRC-slingan använder samma polynom smo det som används i CRC-instruktionen, ersätt då direkt med motsvarande CRC-instruktion. Annars, om målet stöjder en instruktion för minnesfri multiplikation, generera en CRC som använder det. Om inget av fallen är tillämpligt, generera tabellbaserad CRC." +msgstr "Upptäck slingor som beräknar CRC och ersätt dem med en snabbare implementation. Om målet stödjer en CRC-instruktion och CRC-slingan använder samma polynom smo det som används i CRC-instruktionen, ersätt då direkt med motsvarande CRC-instruktion. Annars, om målet stödjer en instruktion för minnesfri multiplikation, generera en CRC som använder det. Om inget av fallen är tillämpligt, generera tabellbaserad CRC." #: common.opt:2483 #, no-c-format @@ -17528,7 +17528,7 @@ msgstr "Framtvinga användningen av SLP vid vektorisering, misslyckas om det int #: params.opt:1266 #, no-c-format msgid "Maximum number of basic blocks before VRP switches to a fast model with less memory requirements." -msgstr "Maximalt antal grundblock innan VRP byter till en snabb modell med mintre minneskrav." +msgstr "Maximalt antal grundblock innan VRP byter till en snabb modell med mindre minneskrav." #: params.opt:1270 #, no-c-format @@ -17563,7 +17563,7 @@ msgstr "den anropade returnerar en post" #: calls.cc:2565 msgid "target is not able to optimize the call into a sibling call" -msgstr "målet kan inte optinera anropet till ett syskonanrop" +msgstr "målet kan inte optimera anropet till ett syskonanrop" #: calls.cc:2574 msgid "callee returns twice" @@ -49107,7 +49107,7 @@ msgstr "%<detach%>-klausulens händelsehandtag har typen %qT istället för %<om #: cp/parser.cc:42940 #, gcc-internal-format msgid "string literal must not contain %<\\0%>" -msgstr "strängliteraler får inte innehålla %<\\0%>" +msgstr "stränglitteraler får inte innehålla %<\\0%>" #: c/c-parser.cc:20581 c/c-parser.cc:20702 cp/parser.cc:42835 #: cp/parser.cc:42975 @@ -52621,7 +52621,6 @@ msgstr "%s: regcomp: %s" msgid "logic error: missing inode for %s" msgstr "logikfel: saknad inod för %s" -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104709 #: cobol/util.cc:2141 #, gcc-internal-format, gfc-internal-format msgid "failed compiling %s" @@ -78141,7 +78140,6 @@ msgstr "HOLDS-uttryck vid %L måste vara ett skalärt logiskt uttryck" msgid "ORDERED clause parameter is less than COLLAPSE at %L" msgstr "ORDERED-klausulparameter är mindre än COLLAPSE vid %L" -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107122 #: fortran/openmp.cc:8623 #, gcc-internal-format, gfc-internal-format msgid "ORDER clause must not be used together with ORDERED at %L" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6a9c9c7..69f9b6e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,47 @@ +2025-05-14 Simon Martin <simon@nasilyan.com> + + PR c++/120126 + * g++.dg/cpp0x/lambda/lambda-ice33.C: New test. + +2025-05-14 Jiawei <jiawei@iscas.ac.cn> + + * gcc.target/riscv/arch-55.c: New test. + +2025-05-14 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/pr120044-1.c: New test. + * gcc.dg/ipa/pr120044-2.c: Likewise. + * gcc.dg/tree-ssa/pr114864.c: Likewise. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/120125 + * g++.dg/modules/clone-4_a.C: New test. + * g++.dg/modules/clone-4_b.C: New test. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/119864 + * g++.dg/modules/openmp-1.C: New test. + +2025-05-14 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/tpl-friend-19_a.C: New test. + * g++.dg/modules/tpl-friend-19_b.C: New test. + +2025-05-14 Ville Voutilainen <ville.voutilainen@gmail.com> + + * g++.dg/opt/pr96780_cpp23.C: New. + +2025-05-14 Owen Avery <powerboat9.gamer@gmail.com> + Jason Merrill <jason@redhat.com> + + * g++.dg/warn/ignore-virtual-move-assign.C: New test. + +2025-05-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr103771-4.c: New test. + 2025-05-13 Tobias Burnus <tburnus@baylibre.com> PR fortran/113413 diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice33.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice33.C new file mode 100644 index 0000000..8564286 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice33.C @@ -0,0 +1,12 @@ +// PR c++/120126 +// { dg-do compile { target c++11 } } + +template <typename... Args> +int sum(Args... args) { + return [args...] { // { dg-error "parameter packs not expanded with" } + typename decltype(args)::type temp; + }; +} +int main() { + sum(1, 10); +} diff --git a/include/ChangeLog b/include/ChangeLog index f3d4cbd..310a5d5 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2025-05-14 Andreas Schwab <schwab@suse.de> + + * libiberty.h (mkstemps): Remove duplicate. + 2025-03-29 Iain Sandoe <iain@sandoe.co.uk> PR cobol/119283 diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog index 662b85c..262bcb1 100644 --- a/libcpp/po/ChangeLog +++ b/libcpp/po/ChangeLog @@ -1,3 +1,7 @@ +2025-05-14 Joseph Myers <josmyers@redhat.com> + + * es.po: Update. + 2025-05-12 Joseph Myers <josmyers@redhat.com> * es.po: Update. diff --git a/libcpp/po/es.po b/libcpp/po/es.po index 4948e7a..4c55a08 100644 --- a/libcpp/po/es.po +++ b/libcpp/po/es.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: cpplib 15.1-b20250316\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" "POT-Creation-Date: 2025-03-14 22:05+0000\n" -"PO-Revision-Date: 2025-05-12 11:20-0600\n" +"PO-Revision-Date: 2025-05-14 12:48-0600\n" "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n" "Language-Team: Spanish <es@tp.org.es>\n" "Language: es\n" @@ -204,7 +204,7 @@ msgstr "%<\\x{%> no termina con %<}%> después de %.*s" #: charset.cc:2204 msgid "hex escape sequence out of range" -msgstr "secuencia de escape hexadecimal fuera de rango" +msgstr "secuencia de escape hexadecimal fuera de intervalo" #: charset.cc:2247 #, gcc-internal-format @@ -218,7 +218,7 @@ msgstr "%<\\o{%> no termina con %<}%> después de %.*s" #: charset.cc:2314 msgid "octal escape sequence out of range" -msgstr "secuencia de escape octal fuera de rango" +msgstr "secuencia de escape octal fuera de intervalo" #: charset.cc:2366 charset.cc:2376 #, gcc-internal-format @@ -485,7 +485,7 @@ msgstr "%qs después de %<#line%> no es un entero positivo" #: directives.cc:1513 directives.cc:1516 msgid "line number out of range" -msgstr "número de línea fuera de rango" +msgstr "número de línea fuera de intervalo" #: directives.cc:1529 directives.cc:1610 #, gcc-internal-format diff --git a/libgcc/config/libbid/bid128_string.c b/libgcc/config/libbid/bid128_string.c index fce036a..49ad179 100644..100755 --- a/libgcc/config/libbid/bid128_string.c +++ b/libgcc/config/libbid/bid128_string.c @@ -31,6 +31,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "bid128_2_str.h" #include "bid128_2_str_macros.h" +#define MIN_DIGITS(a,b) ((a) < (b) ? (a) : (b)) + extern int bid128_coeff_2_string (UINT64 X_hi, UINT64 X_lo, char *char_ptr); @@ -283,6 +285,7 @@ bid128_from_string (char *ps _RND_MODE_PARAM _EXC_FLAGS_PARAM int ndigits_before, ndigits_after, ndigits_total, dec_expon, sgn_exp, i, d2, rdx_pt_enc; char c, buffer[MAX_STRING_DIGITS_128]; + int min_digits, sticky_bit=0; int save_rnd_mode; int save_fpsf; @@ -443,8 +446,10 @@ bid128_from_string (char *ps _RND_MODE_PARAM _EXC_FLAGS_PARAM if (!rdx_pt_enc) { // investigate string (before radix point) while ((unsigned) (c - '0') <= 9 - && ndigits_before < MAX_STRING_DIGITS_128) { - buffer[ndigits_before] = c; + /*&& ndigits_before < MAX_STRING_DIGITS_128*/) { + if(ndigits_before < MAX_FORMAT_DIGITS_128) buffer[ndigits_before] = c; + else if(ndigits_before < MAX_STRING_DIGITS_128) { buffer[ndigits_before] = c; } + else if(c>'0') { sticky_bit = 1; } ps++; c = *ps; ndigits_before++; @@ -457,8 +462,10 @@ bid128_from_string (char *ps _RND_MODE_PARAM _EXC_FLAGS_PARAM // investigate string (after radix point) while ((unsigned) (c - '0') <= 9 - && ndigits_total < MAX_STRING_DIGITS_128) { - buffer[ndigits_total] = c; + /*&& ndigits_total < MAX_STRING_DIGITS_128*/) { + if(ndigits_total < MAX_FORMAT_DIGITS_128) buffer[ndigits_total] = c; + else if(ndigits_total < MAX_STRING_DIGITS_128) { buffer[ndigits_total] = c; } + else if(c>'0') { sticky_bit = 1; } ps++; c = *ps; ndigits_total++; @@ -474,8 +481,10 @@ bid128_from_string (char *ps _RND_MODE_PARAM _EXC_FLAGS_PARAM ndigits_total = 0; // investigate string (after radix point) while ((unsigned) (c - '0') <= 9 - && ndigits_total < MAX_STRING_DIGITS_128) { - buffer[ndigits_total] = c; + /*&& ndigits_total < MAX_STRING_DIGITS_128*/) { + if(ndigits_total < MAX_FORMAT_DIGITS_128) buffer[ndigits_total] = c; + else if(ndigits_total < MAX_STRING_DIGITS_128) { buffer[ndigits_total] = c; } + else if(c>'0') { sticky_bit = 1; } ps++; c = *ps; ndigits_total++; @@ -594,57 +603,63 @@ bid128_from_string (char *ps _RND_MODE_PARAM _EXC_FLAGS_PARAM coeff_l2 = coeff_low + coeff_low; coeff_low = (coeff_l2 << 2) + coeff_l2 + buffer[i] - '0'; } - switch(rnd_mode) { - case ROUNDING_TO_NEAREST: - carry = ((unsigned) ('4' - buffer[i])) >> 31; - if ((buffer[i] == '5' && !(coeff_low & 1)) || dec_expon < 0) { - if (dec_expon >= 0) { - carry = 0; - i++; - } - for (; i < ndigits_total; i++) { - if (buffer[i] > '0') { - carry = 1; - break; - } + switch(rnd_mode) { + case ROUNDING_TO_NEAREST: + carry = ((unsigned) ('4' - buffer[i])) >> 31; + if ((buffer[i] == '5' && !(coeff_low & 1) && !sticky_bit) || dec_expon < 0) { + if (dec_expon >= 0) { + carry = 0; + i++; + } + min_digits = MIN_DIGITS(ndigits_total, MAX_STRING_DIGITS_128); + for (carry=sticky_bit; (!carry) && (i < min_digits); i++) { + if (buffer[i] > '0') { + carry = 1; + break; + } + } } - } - break; - - case ROUNDING_DOWN: - if(sign_x) - for (; i < ndigits_total; i++) { - if (buffer[i] > '0') { - carry = 1; - break; - } + break; + + case ROUNDING_DOWN: + if(sign_x) { + min_digits = MIN_DIGITS(ndigits_total, MAX_STRING_DIGITS_128); + for (carry=sticky_bit; (!carry) && (i < min_digits); i++) { + if (buffer[i] > '0') { + carry = 1; + break; + } + } } - break; - case ROUNDING_UP: - if(!sign_x) - for (; i < ndigits_total; i++) { - if (buffer[i] > '0') { - carry = 1; - break; - } + break; + case ROUNDING_UP: + if(!sign_x) { + min_digits = MIN_DIGITS(ndigits_total, MAX_STRING_DIGITS_128); + for (carry=sticky_bit; (!carry) && (i < min_digits); i++) { + if (buffer[i] > '0') { + carry = 1; + break; + } + } } - break; - case ROUNDING_TO_ZERO: - carry=0; - break; - case ROUNDING_TIES_AWAY: - carry = ((unsigned) ('4' - buffer[i])) >> 31; - if (dec_expon < 0) { - for (; i < ndigits_total; i++) { - if (buffer[i] > '0') { - carry = 1; - break; - } + break; + case ROUNDING_TO_ZERO: + carry=0; + break; + case ROUNDING_TIES_AWAY: + carry = ((unsigned) ('4' - buffer[i])) >> 31; + if (dec_expon < 0) { + min_digits = MIN_DIGITS(ndigits_total, MAX_STRING_DIGITS_128); + for (carry=sticky_bit; (!carry) && (i < min_digits); i++) { + if (buffer[i] > '0') { + carry = 1; + break; + } + } } - } - break; - - default: break; // default added to avoid compiler warning + break; + + default: break; // default added to avoid compiler warning } // now form the coefficient as coeff_high*10^17+coeff_low+carry scale_high = 100000000000000000ull; diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 8503820..b9cda82 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,16 @@ +2025-05-14 Tobias Burnus <tburnus@baylibre.com> + + * target.c (gomp_attach_pointer): Return bool; accept additional + bool to optionally silence the fatal pointee-not-found error. + (gomp_map_vars_internal): If the pointee could not be found, + check whether it was mapped as GOMP_MAP_ZERO_LEN_ARRAY_SECTION. + * libgomp.h (gomp_attach_pointer): Update prototype. + * oacc-mem.c (acc_attach_async, goacc_enter_data_internal): Update + calls. + * testsuite/libgomp.c/target-map-zero-sized.c: New test. + * testsuite/libgomp.c/target-map-zero-sized-2.c: New test. + * testsuite/libgomp.c/target-map-zero-sized-3.c: New test. + 2025-05-12 Thomas Schwinge <tschwinge@baylibre.com> PR target/119692 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 450b931..464bd45 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,110 @@ +2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119125 + * include/bits/move_only_function.h: Move to... + * include/bits/funcwrap.h: ...here. + * doc/doxygen/stdheader.cc (init_map): Replaced move_only_function.h + with funcwrap.h, and changed include guard to use feature test macro. + Move bits/version.h include before others. + * include/Makefile.am: Likewise. + * include/Makefile.in: Likewise. + * include/std/functional: Likewise. + +2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119125 + * doc/doxygen/stdheader.cc: Addded cpyfunc_impl.h header. + * include/Makefile.am: Add bits cpyfunc_impl.h. + * include/Makefile.in: Add bits cpyfunc_impl.h. + * include/bits/cpyfunc_impl.h: New file. + * include/bits/mofunc_impl.h: Mention LWG 4255. + * include/bits/move_only_function.h: Update header description + and change guard to also check __glibcxx_copyable_function. + (_Manager::_Func): Remove noexcept. + (std::__is_polymorphic_function_v<move_only_function<_Tp>>) + (__variant::_Never_valueless_alt<std::move_only_function<_Signature...>>) + (move_only_function) [__glibcxx_move_only_function]: Adjust guard. + (std::__is_polymorphic_function_v<copyable_function<_Tp>>) + (__variant::_Never_valueless_alt<std::copyable_function<_Signature...>>) + (__polyfunc::_Cpy_base, std::copyable_function) + [__glibcxx_copyable_function]: Define. + * include/bits/version.def: Define copyable_function. + * include/bits/version.h: Regenerate. + * include/std/functional: Define __cpp_lib_copyable_function. + * src/c++23/std.cc.in (copyable_function) + [__cpp_lib_copyable_function]: Export. + * testsuite/20_util/copyable_function/call.cc: New test based on + move_only_function tests. + * testsuite/20_util/copyable_function/cons.cc: New test based on + move_only_function tests. + * testsuite/20_util/copyable_function/conv.cc: New test based on + move_only_function tests. + * testsuite/20_util/copyable_function/copy.cc: New test. + * testsuite/20_util/copyable_function/move.cc: New test based on + move_only_function tests. + +2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119125 + * include/bits/mofunc_impl.h: (std::move_only_function): Adjusted for + changes in bits/move_only_function.h + (move_only_function::move_only_function(_Fn&&)): Special case + move_only_functions with same invoker. + (move_only_function::operator=(move_only_function&&)): Handle self + assigment. + * include/bits/move_only_function.h (__polyfunc::_Ptrs) + (__polyfunc::_Storage): Refactored from _Mo_func::_Storage. + (__polyfunc::__param_t): Moved from move_only_function::__param_t. + (__polyfunc::_Base_invoker, __polyfunc::_Invoke): Refactored from + move_only_function::_S_invoke. + (__polyfunc::_Manager): Refactored from _Mo_func::_S_manager. + (std::_Mofunc_base): Moved into __polyfunc::_Mo_base with parts + extracted to __polyfunc::_Storage and __polyfunc::_Manager. + (__polyfunc::__deref_as, __polyfunc::__invoker_of) + (__polyfunc::__base_of, __polyfunc::__is_invoker_convertible): Define. + (std::__is_move_only_function_v): Renamed to + __is_polymorphic_function_v. + (std::__is_polymorphic_function_v): Renamed from + __is_move_only_function_v. + * testsuite/20_util/move_only_function/call.cc: Test for + functions pointers. + * testsuite/20_util/move_only_function/conv.cc: New test. + * testsuite/20_util/move_only_function/move.cc: Tests for + self assigment. + +2025-05-14 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119246 + * include/std/format (__format::__bflt16_t): Define. + (_GLIBCXX_FORMAT_F128): Separate value for cases where _Float128 + is used. + (__format::__float128_t): Renamed to __format::__flt128_t. + (std::formatter<_Float128, _CharT>): Define always if there is + formattable 128bit float. + (std::formatter<__float128, _CharT>): Define. + (_Arg_type::_Arg_f128): Rename to _Arg_float128 and adjust value. + (_Arg_type::_Arg_ibm128): Change value to _Arg_ldbl. + (_Arg_type::_Arg_ieee128): Define as alias to _Arg_float128. + (_Arg_value::_M_f128): Replaced with _M_ieee128 and _M_float128. + (_Arg_value::_M_ieee128, _Arg_value::_M_float128) + (_Arg_value::_M_bf16, _Arg_value::_M_f16, _Arg_value::_M_f32) + (_Arg_value::_M_f64): Define. + (_Arg_value::_S_get, basic_format_arg::_S_to_enum): Handle __bflt16, + _Float16, _Float32, _Float64, and __float128 types. + (basic_format_arg::_S_to_arg_type): Preserve _bflt16, _Float16, + _Float32, _Float64 and __float128 types. + (basic_format_arg::_M_visit): Handle _Arg_float128, _Arg_ieee128, + _Arg_b16, _Arg_f16, _Arg_f32, _Arg_f64. + * testsuite/std/format/arguments/args.cc: Updated to illustrate + that extended floating point types use handles now. Added test + for __float128. + * testsuite/std/format/parse_ctx.cc: Extended test to cover class + to check_dynamic_spec with floating point types and handles. + +2025-05-14 Ville Voutilainen <ville.voutilainen@gmail.com> + + * include/std/utility (to_underlying): Add the __always_inline__ attribute. + 2025-05-12 Thomas Schwinge <tschwinge@baylibre.com> PR target/119645 |