aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2024-06-05contrib: header-tools scripts updated to python3Sundeep KOKKONDA9-177/+177
The scripts in contrib/header-tools/ are incompatible with python3. This updates them to use python3. contrib/header-tools/ChangeLog: * count-headers: Adapt to Python 3. * gcc-order-headers: Likewise. * graph-header-logs: Likewise. * graph-include-web: Likewise. * headerutils.py: Likewise. * included-by: Likewise. * reduce-headers: Likewise. * replace-header: Likewise. * show-headers: Likewise. Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
2024-06-05check_GNU_style: Use raw strings.Robin Dapp1-10/+10
This silences some warnings when using check_GNU_style. contrib/ChangeLog: * check_GNU_style_lib.py: Use raw strings for regexps.
2024-05-22Daily bump.GCC Administrator1-0/+10
2024-05-21contrib/gcc-changelog/git_update_version.py: Improve diagnosticTobias Burnus1-4/+11
contrib/ChangeLog: * gcc-changelog/git_update_version.py: Add '-i'/'--ignore' argument to add to-be-ignored commits via the command line. (ignored_commits): Rename from IGNORED_COMMITS and change type from tuple to set. (prepend_to_changelog_files): Show git hash if errors occurred. (update_current_branch): Mark argument as optional by defaulting to None.
2024-05-15Daily bump.GCC Administrator1-0/+4
2024-05-14MAINTAINERS: Fix an entry using spaces instead of tabsFilip Kastl1-0/+8
In the MAINTAINERS file, names and emails are separated by tabs. One of the entries recently added used spaces. This patch corrects this. The check-MAINTAINERS.py script breaks a bit when this happens. This patch also adds warning about this situation into the script. ChangeLog: * MAINTAINERS: Use tabs between name and email. contrib/ChangeLog: * check-MAINTAINERS.py: Add warning about not using tabs. Signed-off-by: Filip Kastl <fkastl@suse.cz>
2024-05-13Daily bump.GCC Administrator1-0/+7
2024-05-09contrib: Add 109f1b28fc94c93096506e3df0c25e331cef19d0 to ignored commitsJakub Jelinek1-1/+2
2024-05-09 Jakub Jelinek <jakub@redhat.com> * gcc-changelog/git_update_version.py: Replace 9dbff9c05520a74e6cd337578f27b56c941f64f3 with 39f81924d88e3cc197fc3df74204c9b5e01e12f7 and 109f1b28fc94c93096506e3df0c25e331cef19d0 in IGNORED_COMMITS.
2024-05-09Daily bump.GCC Administrator1-0/+16
2024-05-09contrib: Add 9dbff9c05520a74e6cd337578f27b56c941f64f3 to ignored commitsJakub Jelinek1-1/+2
2024-05-09 Jakub Jelinek <jakub@redhat.com> * gcc-changelog/git_update_version.py: Add 9dbff9c05520a74e6cd337578f27b56c941f64f3 to IGNORED_COMMITS.
2024-05-07build: Derive object names in make_sunver.plRainer Orth1-2/+13
The recent move of libgfortran object files to subdirs and the resulting breakage of libgfortran.so symbol exports demonstrated how fragile deriving object and archive names from their libtool counterparts in the Makefiles is. Therefore, this patch moves that step into make_sunver.pl, considerably simplifying the Makefile rules to create the version scripts. Bootstrapped without regressions on i386-pc-solaris2.11 and sparc-sun-solaris2.11, verifying that the version scripts are identical except for the input filenames. 2024-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> contrib: * make_sunver.pl: Use File::Basename; Skip -lLIB args. Convert libtool object/archive names to underlying objects/archives. libatomic: * Makefile.am [LIBAT_BUILD_VERSIONED_SHLIB_SUN] (libatomic.map-sun): Pass $(libatomic_la_OBJECTS), $(libatomic_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libffi: * Makefile.am [LIBFFI_BUILD_VERSIONED_SHLIB_SUN] (libffi.map-sun): Pass $(libffi_la_OBJECTS), $(libffi_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libgfortran: * Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass $(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libgomp: * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN] (libgomp.ver-sun): Pass $(libgomp_la_OBJECTS), $(libgomp_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libitm: * Makefile.am [LIBITM_BUILD_VERSIONED_SHLIB_SUN] (libitm.map-sun): Pass $(libitm_la_OBJECTS), $(libitm_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libquadmath: * Makefile.am [LIBQUAD_USE_SYMVER_SUN] (quadmath.map-sun): Pass $(libquadmath_la_OBJECTS), $(libquadmath_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libssp: * Makefile.am [LIBSSP_USE_SYMVER_SUN] (ssp.map-sun): Pass $(libssp_la_OBJECTS), $(libssp_la_LIBADD) to make_sunver.pl unmodified. * Makefile.in: Regenerate. libstdc++-v3: * src/Makefile.am [ENABLE_SYMVERS_SUN] (libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS), $(libstdc___la_LIBADD) to make_sunver.pl unmodified. * src/Makefile.in: Regenerate.
2024-05-07Update gennews for GCC 14.Jakub Jelinek1-0/+1
2024-05-07 Jakub Jelinek <jakub@redhat.com> * gennews (files): Add files for GCC 14.
2024-05-07Daily bump.GCC Administrator1-0/+4
2024-05-06contrib/gcc-changelog/git_check_commit.py: Implement --num-commitsKen Matsui1-0/+15
This patch implements a --num-commits (-n) flag for shorthand for the range of hash~N..hash commits. contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Implement --num-commits. Signed-off-by: Ken Matsui <kmatsui@gcc.gnu.org> Reviewed-by: Patrick Palka <ppalka@redhat.com> Reviewed-by: Jason Merrill <jason@redhat.com>
2024-04-27Daily bump.GCC Administrator1-0/+5
2024-04-26Update crontab and git_update_version.pyJakub Jelinek1-2/+2
2024-04-26 Jakub Jelinek <jakub@redhat.com> maintainer-scripts/ * crontab: Snapshots from trunk are now GCC 15 related. Add GCC 14 snapshots from the respective branch. contrib/ * gcc-changelog/git_update_version.py (active_refs): Add releases/gcc-14.
2024-04-19Daily bump.GCC Administrator1-0/+4
2024-04-18Add nios2*-*-* to the list of obsolete targetsSandra Loosemore1-1/+2
This patch marks the nios2*-*-* targets obsolete in GCC 14. Intel has EOL'ed this architecture and the maintainers no longer have access to hardware for testing. While the port is still in reasonably good shape at this time, no further testing or updates are planned. gcc/ * config.gcc: Add nios2*-*-* to the list of obsoleted targets. contrib/ * config-list.mk (LIST): --enable-obsolete for nios2*-*-*.
2024-04-13Daily bump.GCC Administrator1-0/+4
2024-04-12contrib/check-params-in-docs.py: Ignore target-specific paramsFilip Kastl1-8/+13
contrib/check-params-in-docs.py is a script that checks that all options reported with gcc --help=params are in gcc/doc/invoke.texi and vice versa. gcc/doc/invoke.texi lists target-specific params but gcc --help=params doesn't. This meant that the script would mistakenly complain about parms missing from --help=params. Previously, the script was just set to ignore aarch64 and gcn params which solved this issue only for x86. This patch sets the script to ignore all target-specific params. contrib/ChangeLog: * check-params-in-docs.py: Ignore target specific params. Signed-off-by: Filip Kastl <fkastl@suse.cz>
2024-04-12Daily bump.GCC Administrator1-0/+5
2024-04-11contrib/check-params-in-docs.py: Ignore gcn-preferred-vectorization-factorMartin Jambor1-1/+1
contrib/check-params-in-docs.py is a script that checks that all options reported with ./gcc/xgcc -Bgcc --help=param are in gcc/doc/invoke.texi and vice versa. gcn-preferred-vectorization-factor is in the manual but normally not reported by --help, probably because I do not have gcn offload configured. This patch makes the script silently about this particular fact. contrib/ChangeLog: 2024-04-11 Martin Jambor <mjambor@suse.cz> * check-params-in-docs.py (ignored): Add gcn-preferred-vectorization-factor.
2024-04-08Daily bump.GCC Administrator1-0/+5
2024-04-08contrib: Add 8057f9aa1f7e70490064de796d7a8d42d446caf8 to ignored commits.Jakub Jelinek1-1/+2
This commit unfortunately added explanation to the git revert generated message, breaking ChangeLog generation. 2024-04-08 Jakub Jelinek <jakub@redhat.com> * gcc-changelog/git_update_version.py: Add 8057f9aa1f7e70490064de796d7a8d42d446caf8 to IGNORED_COMMITS.
2024-03-20Daily bump.GCC Administrator1-0/+5
2024-03-19libstdc++: Fix Python scripts to output the correct filenameJonathan Wakely1-2/+4
These scripts both print "generated by $file, do not edit" header but one of them prints the wrong filename. Use the built-in __file__ attribute to ensure it's correct. contrib/ChangeLog: * unicode/gen_libstdcxx_unicode_data.py: Fix header of generated file to name the correct script. libstdc++-v3/ChangeLog: * include/bits/text_encoding-data.h: Regenerate. * include/bits/unicode-data.h: Regenerate. * scripts/gen_text_encoding_data.py: Fix header of generated file to name the correct script.
2024-03-19Daily bump.GCC Administrator1-0/+5
2024-03-18gcc_update: Add missing generated filesJonathan Wakely1-0/+8
I'm seeing errors for --enable-maintainer-mode builds due to incorrectly regenerating these files. They should be touched by gcc_update so they aren't regenerated incorrectly. contrib/ChangeLog: * gcc_update: Add more generated files in libcc1, lto-plugin, fixincludes, and libstdc++-v3.
2024-03-09Daily bump.GCC Administrator1-0/+6
2024-03-08contrib: Improve dg-extract-results.sh's Python detection [PR109668]Sam James1-7/+10
'python' on some systems (e.g. SLES 15) might be Python 2. Prefer python3, then python, then python2 (as the script still tries to work there). PR other/109668 * dg-extract-results.sh: Check for python3 before python. Check for python2 last.
2024-03-08Daily bump.GCC Administrator1-0/+4
2024-03-07contrib: Update test_mklog to correspond to mklogFilip Kastl1-1/+1
contrib/ChangeLog: * test_mklog.py: "Moved to..." -> "Move to..." Signed-off-by: Filip Kastl <fkastl@suse.cz>
2024-03-02Daily bump.GCC Administrator1-0/+4
2024-03-01contrib: mklog: Use present tense in ChangeLogBernhard Reutner-Fischer1-1/+1
contrib/ChangeLog: * mklog.py: Use present tense in ChangeLog.
2024-03-01Daily bump.GCC Administrator1-0/+4
2024-02-29Add libcc1 to bug componentsAndrew Pinski1-0/+1
As found by Tom Tromey in https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646807.html libcc1 is not listed as bug component even though it is there in bugzilla. This fixes that oversight. Committed as obvious after testing using git gcc-verify on a patch. contrib/ChangeLog: * gcc-changelog/git_commit.py (bug_components): Add libcc1. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
2024-02-24Daily bump.GCC Administrator1-0/+5
2024-02-23Add ia64*-*-* to the list of obsolete targetsRichard Biener1-2/+3
The following deprecates ia64*-*-* for GCC 14. Since we plan to force LRA for GCC 15 and the target only has slim chances of getting updated this notifies people in advance. Given both Linux and glibc have axed the target further development is also made difficult. There is no listed maintainer for ia64 either. PR target/90785 gcc/ * config.gcc: Add ia64*-*-* to the list of obsoleted targets. contrib/ * config-list.mk (LIST): --enable-obsolete for ia64*-*-*.
2024-02-06Daily bump.GCC Administrator1-0/+5
2024-02-05contrib: Fill in HOST{CC,CFLAGS,CXX,CXXFLAGS} in test_installedJakub Jelinek1-0/+4
gcc/Makefile.in since my r0-60234 change fills in HOSTCC and HOSTCFLAGS in site.exp and since r8-671 also HOSTCXX and HOSTCXXFLAGS. If those variables aren't set, we get errors like: /usr/src/gcc/contrib/test_installed --without-g++ --without-gfortran --without-objc struct-layout-1.exp ... ERROR: tcl error sourcing /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp. ERROR: tcl error code TCL LOOKUP VARNAME HOSTCC ERROR: can't read "HOSTCC": no such variable while executing "remote_exec build "$HOSTCC $HOSTCFLAGS $generator_cmd"" (file "/usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp" line 96) invoked from within "source /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source /usr/src/gcc/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp" invoked from within "catch "uplevel #0 source $test_file_name" msg" (similarly in g++ or gfortran) struct-layout-1.exp. One doesn't need to test specially for just struct-layout-1.exp alone, just not using any arg will trigger it as well, just later. The following patch fills it in as cc and c++ with empty flags to compile those, I believe that is what e.g. make uses by default, so it should be a reasonable default. We IMHO shouldn't default to GCC_UNDER_TEST because that might be a cross-compiler etc. 2024-02-05 Jakub Jelinek <jakub@redhat.com> * test_installed: Fill in HOSTCC, HOSTCXX, HOSTCFLAGS and HOSTCXXFLAGS.
2024-02-05Daily bump.GCC Administrator1-0/+5
2024-02-04libstdc++: Add copyright and license text to new generated headersJonathan Wakely1-1/+29
contrib/ChangeLog: * unicode/gen_libstdcxx_unicode_data.py: Add copyright and license text to the output. libstdc++-v3/ChangeLog: * include/bits/text_encoding-data.h: Regenerate. * include/bits/unicode-data.h: Regenerate. * scripts/gen_text_encoding_data.py: Add copyright and license text to the output.
2024-01-12Daily bump.GCC Administrator1-0/+5
2024-01-11dg-extract-results.py: Ignore case in header linePaul Iannetta1-1/+2
DejaGNU changed its header line from "Test Run By" to "Test run by" around 2016. This patch makes it so that both alternatives are correcly detected. contrib/ChangeLog: * dg-extract-results.py: Make the test_run regex case insensitive.
2024-01-10Daily bump.GCC Administrator1-0/+5
2024-01-09libstdc++: Fix Unicode property detection functionsJonathan Wakely1-1/+4
Fix some copy & pasted logic in __is_extended_pictographic. This function should yield false for the values before the first edge, not true. Also add a missing boundary condition check in __incb_property. Also Fix an off-by-one error in _Utf_iterator::operator++() that would make dereferencing a past-the-end iterator undefined (where the intended design is that the iterator is always incrementable and dereferenceable, for better memory safety). Also simplify the grapheme view iterator, which still contained some remnants of an earlier design I was experimenting with. Slightly tweak the gen_libstdcxx_unicode_data.py script so that the _Gcb_property enumerators are in the order we encounter them in the data file, instead of sorting them alphabetically. Start with the "Other" property at value 0, because that's the default property for anything not in the file. This makes no practical difference, but seems cleaner. It causes the values in the __gcb_edges table to change, so can only be done now before anybody is using this code yet. The enumerator values and table entries become ABI artefacts for the function using them. contrib/ChangeLog: * unicode/gen_libstdcxx_unicode_data.py: Print out Gcb_property enumerators in the order they're seen, not alphabetical order. libstdc++-v3/ChangeLog: * include/bits/unicode-data.h: Regenerate. * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off by one error. (__incb_property): Add missing check for values before the first edge. (__is_extended_pictographic): Invert return values to fix copy&pasted logic. (_Grapheme_cluster_view::_Iterator): Remove second iterator member and find end of cluster lazily. * testsuite/ext/unicode/grapheme_view.cc: New test. * testsuite/ext/unicode/properties.cc: New test. * testsuite/ext/unicode/view.cc: New test.
2024-01-09Daily bump.GCC Administrator1-0/+7
2024-01-08libstdc++: Add Unicode-aware width estimation for std::formatJonathan Wakely4-2/+3027
This implements the requirements in the following proposals, which dictate how std::format deals with non-ASCII strings: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1868r1.html https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2572r1.html https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2675r1.pdf There are two parts to this. The width estimation for strings must only count the width of the first character in an extended grapheme cluster. That requires implementing the algorithm for detecting cluster breaks, which requires a number of lookup tables of the grapheme cluster break properties (and Indic_Conjunct_Break and Extended_Pictographic properties) of every code point. Additionally, some characters have a field width of 2, which requires another lookup table of field widths for every code point. The tables added in this commit do not contain entries for every code point from 0 to 0x10FFFF as that would be very inefficient and use too much memory. Instead the tables only contain the code points that form an "edge" for a property, omitting all the code points that have the same property as the preceding one. We can use a binary search to find the closest code point in the table that is not greater than the one we're looking for. The tables are generated by a new Python script added to the contrib/unicode directory, and a new data file downloaded from the Unicode Consortium website. The rules for extended grapheme cluster breaking are implemented for the latest Unicode standard, version 15.1.0. libstdc++-v3/ChangeLog: * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/bits/unicode.h: New file. * include/bits/unicode-data.h: New file. * include/std/format: Include <bits/unicode.h>. (__literal_encoding_is_utf8): Move to <bits/unicode.h>. (_Spec::_M_fill): Change type to char32_t. (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value instead of a single character. (__write_padded): Change __fill_char parameter to char32_t and encode it into the output. (__formatter_str::format): Use new __unicode::__field_width and __unicode::__truncate functions. * include/std/ostream: Adjust namespace qualification for __literal_encoding_is_utf8. * include/std/print: Likewise. * src/c++23/print.cc: Add [[unlikely]] attribute to error path. * testsuite/ext/unicode/view.cc: New test. * testsuite/std/format/functions/format.cc: Add missing examples from the standard demonstrating alignment with non-ASCII characters. Add examples checking correct handling of extended grapheme clusters. contrib/ChangeLog: * unicode/README: Add notes about generating libstdc++ tables. * unicode/GraphemeBreakProperty.txt: New file. * unicode/emoji-data.txt: New file. * unicode/gen_libstdcxx_unicode_data.py: New file.
2024-01-06Daily bump.GCC Administrator1-0/+25
2024-01-05contrib: Remove C-style comments from Python filesJonathan Wakely18-18/+18
These Python scripts have "*/" at the end of the license header comment blocks, presumably copy&pasted from C files. contrib/ChangeLog: * analyze_brprob.py: Remove stray text at end of comment. * analyze_brprob_spec.py: Likewise. * check-params-in-docs.py: Likewise. * check_GNU_style.py: Likewise. * check_GNU_style_lib.py: Likewise. * filter-clang-warnings.py: Likewise. * gcc-changelog/git_check_commit.py: Likewise. * gcc-changelog/git_commit.py: Likewise. * gcc-changelog/git_email.py: Likewise. * gcc-changelog/git_repository.py: Likewise. * gcc-changelog/git_update_version.py: Likewise. * gcc-changelog/test_email.py: Likewise. * gen_autofdo_event.py: Likewise. * mark_spam.py: Likewise. * unicode/gen-box-drawing-chars.py: Likewise. * unicode/gen-combining-chars.py: Likewise. * unicode/gen-printable-chars.py: Likewise. * unicode/gen_wcwidth.py: Likewise.