As discussed in the thread starting at:
https://gcc.gnu.org/pipermail/gcc/2024-June/244199.html
it would be useful to have the @gcc.gnu.org bugzilla account names
in MAINTAINERS. This is because:
(a) Not every non-@gcc.gnu.org email listed in MAINTAINERS is registered
as a bugzilla user.
(b) Only @gcc.gnu.org accounts tend to have full rights to modify tickets.
(c) A maintainer's name and email address aren't always enough to guess
the bugzilla account name.
(d) The users list on bugzilla has many blank entries for "real name".
However, including @gcc.gnu.org to the account name might encourage
people to use it for ordinary email, rather than just for bugzilla.
This patch goes for the compromise of using the unqualified account
name, with some text near the top of the file to explain its usage.
There isn't room in the area maintainer sections for a new column,
so it seemed better to have the account name only in the Write
After Approval section. It's then necessary to list all maintainers
there, even if they have more specific roles as well.
Also, there were some entries that didn't line up with the
prevailing columns (they had one tab too many or one tab too few).
It seemed easier to check for and report this, and other things,
if the file used spaces rather than tabs.
There was one instance of an email address without the trailing ">".
The updates to check-MAINTAINERS.py includes a test for that.
The account names in the file were taken from a trawl of the
gcc-cvs archives, with a very small number of manual edits for
ambiguities. There are a handful of names that I couldn't find;
the new column has "-" for those. The names were then filtered
against the bugzilla @gcc.gnu.org user list, with those not
present again being blanked out with "-".
ChangeLog:
* MAINTAINERS: Replace tabs with spaces. Add a bugzilla account
name column to the Write After Approval section. Line up the
email column and fix an entry that was missing the trailing ">".
contrib/ChangeLog:
* check-MAINTAINERS.py (sort_by_surname): Replace with...
(get_surname): ...this.
(has_tab, is_empty): Delete.
(check_group): Take a list of column positions as argument.
Check that lines conform to these column numbers. Check that the
final column is an email in angle brackets. Record surnames on
the fly.
(top level): Reject tabs. Use paragraph counts to identify which
groups of lines should be checked. Report missing sections.
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.
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-09 Jakub Jelinek <jakub@redhat.com>
* gcc-changelog/git_update_version.py: Replace
9dbff9c055 with
39f81924d8 and
109f1b28fc in IGNORED_COMMITS.
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-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.
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*-*-*.
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>
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.
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
8057f9aa1f to IGNORED_COMMITS.
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.
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.
'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.
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>
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*-*-*.
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.
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.
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.
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.