Commit Graph

1329 Commits

Author SHA1 Message Date
GCC Administrator
1a80e9558d Daily bump. 2024-01-12 00:17:54 +00:00
Paul Iannetta
8f67953d01 dg-extract-results.py: Ignore case in header line
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-11 17:46:12 +01:00
GCC Administrator
73ce73fcad Daily bump. 2024-01-10 00:18:30 +00:00
Jonathan Wakely
ea314ccd62 libstdc++: Fix Unicode property detection functions
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-09 23:42:59 +00:00
GCC Administrator
6b1d6a2d3a Daily bump. 2024-01-09 00:17:50 +00:00
Jonathan Wakely
37a4c5c23a libstdc++: Add Unicode-aware width estimation for std::format
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-08 01:14:50 +00:00
GCC Administrator
f38103f567 Daily bump. 2024-01-06 00:18:04 +00:00
Jonathan Wakely
29abd09a74 contrib: Remove C-style comments from Python files
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.
2024-01-05 13:57:05 +00:00
Jonathan Wakely
1bc9eddb80 contrib: Add script name to usage error in gen_wcwidth.py
contrib/ChangeLog:

	* unicode/gen_wcwidth.py: Add sys.argv[0] to usage error.
2024-01-05 13:57:04 +00:00
GCC Administrator
eb84e8d3e2 Daily bump. 2024-01-04 00:18:45 +00:00
Jakub Jelinek
a945c346f5 Update copyright years. 2024-01-03 12:19:35 +01:00
Jakub Jelinek
9afc19159c Small tweaks for update-copyright.py
update-copyright.py --this-year FAILs on two spots in the modula2
directories.
One is gpl_v3_without_node.texi, I think that is similar to other
license files which we already exclude from updates.
And the other is GmcOptions.cc, which has lines like
  mcPrintf_printf0 ((const char *) "Copyright ", 10);
  mcPrintf_printf1 ((const char *) "Copyright (C) %d Free Software Foundation, Inc.\\n", 49, (const unsigned char *) &year, (sizeof (year)-1));
  mcPrintf_printf1 ((const char *) "Copyright (C) %d Free Software Foundation, Inc.\\n", 49, (const unsigned char *) &year, (sizeof (year)-1));
which update-copyhright.py obviously can't grok.  The file is generated
and doesn't contain normal Copyright year which should be updated, so I think
it is also ok to skip it.

2024-01-03  Jakub Jelinek  <jakub@redhat.com>

	* update-copyright.py (GenericFilter): Skip gpl_v3_without_node.texi.
	(GCCFilter): Skip GmcOptions.cc.
2024-01-03 12:11:32 +01:00
GCC Administrator
cdfaa4aa52 Daily bump. 2023-12-22 00:18:02 +00:00
Alexandre Oliva
586e32583a compare_tests: distinguish c-c++-common results by tool
When compare_tests compares both C and C++ tests in c-c++-common, they
get the same identifier, so expected differences in results across
languages become undesirably noisy.

This patch adds tool identifiers to tests, so that runs by different
tools are not confused by the compare logic.

It also fixes a bug in reporting differences, that would attempt to
print an undefined fname (the definitions are in subshell loops), and
adjusts the target insertion to match tabs in addition to blanks after
colons.


for  contrib/ChangeLog

	* compare_tests: Add tool to test lines.  Match tabs besides
	blanks to insert tool and target.  Don't print undefined fname.
2023-12-21 01:02:41 -03:00
GCC Administrator
7ad9058c04 Daily bump. 2023-12-21 00:18:03 +00:00
Jason Merrill
af3fc03069 contrib: add git gcc-style alias
I thought it could be easier to use check_GNU_style.py.  With this alias,
'git gcc-style' will take a git revision as argument instead of a file, or
check HEAD if no argument is given.

contrib/ChangeLog:

	* gcc-git-customization.sh: Add git gcc-style alias.
2023-12-20 18:08:16 -05:00
GCC Administrator
f998335ac0 Daily bump. 2023-12-15 00:17:17 +00:00
Pierre-Emmanuel Patry
f37c55c14b libgrust: Add libproc_macro and build system
Add some dummy files in libproc_macro along with its build system.

libgrust/ChangeLog:

	* Makefile.am: New file.
	* Makefile.in: Generate.
	* configure.ac: New file.
	* configure: Generate.
	* aclocal.m4: Generate.
	* libproc_macro/Makefile.am: New file.
	* libproc_macro/proc_macro.cc: New file.
	* libproc_macro/proc_macro.h: New file.
	* libproc_macro/Makefile.in: Generate.

contrib/ChangeLog:

	* gcc_update: Add libgrust file dependencies.

Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com>
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
2023-12-14 13:58:57 +01:00
Pierre-Emmanuel Patry
e4f0eb725d libgrust: Add entry for maintainers
ChangeLog:

	* MAINTAINERS: Add maintainers for libgrust.

contrib/ChangeLog:

	* gcc-changelog/git_commit.py: Add libgrust.

Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com>
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
2023-12-14 13:34:20 +01:00
GCC Administrator
e8018ccff9 Daily bump. 2023-12-14 00:18:00 +00:00
Arsen Arsenović
eb6c2bcb67
download_prerequisites: add --only-gettext
contrib/ChangeLog:

	* download_prerequisites
	<arg parse>: Parse --only-gettext.
	(echo_archives): Check only_gettext and stop early if true.
	(helptext): Document --only-gettext.
2023-12-13 13:14:18 +01:00
GCC Administrator
04d4a4943a Daily bump. 2023-12-03 00:16:41 +00:00
Richard Sandiford
301dec8533 Tweak language choice in config-list.mk
When I tried to use config-list.mk, the build for every triple except
the build machine's failed for m2.  This is because, unlike other
languages, m2 builds target objects during all-gcc.  The build will
therefore fail unless you have access to an appropriate binutils
(or an equivalent).  That's quite a big ask for over 100 targets. :)

This patch therefore makes m2 an optional inclusion.

Doing that wasn't entirely straightforward though.  The current
configure line includes "--enable-languages=all,...", which means
that the "..." can only force languages to be added that otherwise
wouldn't have been.  (I.e. the only effect of the "..." is to
override configure autodetection.)

The choice of all,ada and:

  # Make sure you have a recent enough gcc (with ada support) in your path so
  # that --enable-werror-always will work.

make it clear that lack of GNAT should be a build failure rather than
silently ignored.  This predates the D frontend, which requires GDC
in the same way that Ada requires GNAT.  I don't know of a reason
why D should be treated differently.

The patch therefore expands the "all" into a specific list of
languages.

That in turn meant that Fortran had to be handled specially,
since bpf and mmix don't support Fortran.

Perhaps there's an argument that m2 shouldn't build target objects
during all-gcc, but (a) it works for practical usage and (b) the
patch is an easy workaround.  I'd be happy for the patch to be
reverted if the build system changes.

contrib/
	* config-list.mk (OPT_IN_LANGUAGES): New variable.
	($(LIST)): Replace --enable-languages=all with a specifc list.
	Disable fortran on bpf and mmix.  Enable the languages in
	OPT_IN_LANGUAGES.
2023-12-02 13:49:53 +00:00
GCC Administrator
6fb55db0e1 Daily bump. 2023-11-24 00:17:53 +00:00
Hans-Peter Nilsson
4eafb9748b contrib/regression/btest-gcc.sh: Optionally handle XPASS.
Tests with keys that match both PASS, FAIL (or now
optionally XPASS), count as fail.  XPASSes were previously
ignored.  Handling them as FAIL seems the most useful
alternative, but not counting XPASSes may be deliberate.
It's also a matter of compatibility, so make it optional.

Attempts to use --handle-xpass-as-fail was previously
flagged as a usage error.  If you pass it now, on state with
previous mixed XPASS and PASS results but doesn't change in
this run, the XPASS is discovered as a (new) regression.
For new XPASSing tests, it's handled as a new FAIL.

	* btest-gcc.sh (--handle-xpass-as-fail): New option.
2023-11-24 00:21:31 +01:00
Hans-Peter Nilsson
071dadb728 contrib/regression/btest-gcc.sh: Simplify option handling.
* btest-gcc.sh (Option handling): Break out shifts from each
	option alternative.
2023-11-24 00:21:08 +01:00
Hans-Peter Nilsson
0ca1e90ae1 contrib/regression/btest-gcc.sh: Handle multiple options.
This is a long-standing bug: passing "-j --add-passes-despite-regression"
or "--add-passes-despite-regression -j" caused the second option to be
treated as TARGET; the first non-option parameter.

	* btest-gcc.sh (Option handling): Handle multiple options.
2023-11-24 00:20:42 +01:00
GCC Administrator
eaedb56a0f Daily bump. 2023-11-15 00:16:41 +00:00
Jakub Jelinek
d64b7c82da libcpp, contrib: Update to Unicode 15.1
The following patch (in plaintext just a pseudo-patch where I've left out
the too big parts of either wget downloaded or regenerated files out with
..., full patch attached compressed) updates to Unicode 15.1 from 15.0
we had last year.  Apparently Unicode forgot to add a new range to 4-8 Table
we are using, but from the other files it is clear what should have been
added; I've filed a bugreport against Unicode.

2023-11-14  Jakub Jelinek  <jakub@redhat.com>

contrib/
	* unicode/README: Adjust glibc git commit hash, number of Unicode
	data files to be updated and latest Unicode version.
	* unicode/from_glibc/utf8_gen.py: Update from glibc.
	* unicode/UnicodeData.txt: Update from Unicode 15.1.
	* unicode/EastAsianWidth.txt: Likewise.
	* unicode/DerivedNormalizationProps.txt: Likewise.
	* unicode/NameAliases.txt: Likewise.
	* unicode/DerivedCoreProperties.txt: Likewise.
	* unicode/PropList.txt: Likewise.
libcpp/
	* makeucnid.cc (write_copyright): Update copyright year.
	* makeuname2c.cc (write_copyright): Likewise.
	(struct generated): Update latest Unicode version.
	(generated_ranges): Add 2ebf0-2ee5d CJK UNIFIED IDEOGRAPH
	range which was forgotten to be added to 4-8 table, but
	clearly is expected to be there from the 15.1 additions.
	* ucnid.h: Regenerated.
	* uname2c.h: Regenerated.
	* generated_cpp_wcwidth.h: Regenerated.
2023-11-14 18:32:37 +01:00
GCC Administrator
b9fd8399ec Daily bump. 2023-11-14 12:23:39 +00:00
Jakub Jelinek
0a1dd8b551 contrib: Ignore the r14-5312-g040e5b0edbca861196d9e2ea2af5e805769c8d5d bogus commit
The r14-5312-g040e5b0edbca861196d9e2ea2af5e805769c8d5d commit log contains
a line from git revert with correct hash, but unfortunately hand ammended
with explanation, so it got through the pre-commit hook but failed during
update_version_git generation.  Please don't do this.

2023-11-14  Jakub Jelinek  <jakub@redhat.com>

contrib/ChangeLog:
	* gcc-changelog/git_update_version.py: Add
	040e5b0edb to ignored commits.
2023-11-14 13:16:36 +01:00
Arsen Arsenović
db50aea625
*: add modern gettext
This patch updates gettext.m4 and related .m4 files and adds
gettext-runtime as a gmp/mpfr/... style host library, allowing newer
libintl to be used.

This patch /does not/ add build-time tools required for
internationalizing (msgfmt et al), instead, it just updates the runtime
library.  The result should be a distribution that acts exactly the same
when a copy of gettext is present, and disables internationalization
otherwise.

There should be no changes in behavior when gettext is included in-tree.
When gettext is not included in tree, nor available on the system, the
programs will be built without localization.

ChangeLog:

	PR bootstrap/12596
	* .gitignore: Add '/gettext*'.
	* configure.ac (host_libs): Replace intl with gettext.
	(hbaseargs, bbaseargs, baseargs): Split baseargs into
	{h,b}baseargs.
	(skip_barg): New flag.  Skips appending current flag to
	bbaseargs.
	<library exemptions>: Exempt --with-libintl-{type,prefix} from
	target and build machine argument passing.
	* configure: Regenerate.
	* Makefile.def (host_modules): Replace intl module with gettext
	module.
	(configure-ld): Depend on configure-gettext.
	* Makefile.in: Regenerate.

config/ChangeLog:

	* intlmacosx.m4: Import from gettext-0.22 (serial 8).
	* gettext.m4: Sync with gettext-0.22 (serial 77).
	* gettext-sister.m4 (ZW_GNU_GETTEXT_SISTER_DIR): Load gettext's
	uninstalled-config.sh, or call AM_GNU_GETTEXT if missing.
	* iconv.m4: Sync with gettext-0.22 (serial 26).

contrib/ChangeLog:

	* prerequisites.sha512: Add gettext.
	* prerequisites.md5: Add gettext.
	* download_prerequisites: Add gettext.

gcc/ChangeLog:

	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in (LIBDEPS): Remove (potential) ./ prefix from
	LIBINTL_DEP.
	* doc/install.texi: Document new (notable) flags added by the
	optional gettext tree and by AM_GNU_GETTEXT.  Document libintl/libc
	with gettext dependency.

libcpp/ChangeLog:

	* configure: Regenerate.
	* aclocal.m4: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
2023-11-14 00:47:11 +01:00
GCC Administrator
6c44b95d97 Daily bump. 2023-10-06 00:17:37 +00:00
Andrea Corallo
e866d08d8b contrib: add mdcompact
Hello all,

this patch checks in mdcompact, the tool written in elisp that I used
to mass convert all the multi choice pattern in the aarch64 back-end to
the new compact syntax.

I tested it on Emacs 29 (might run on older versions as well not
sure), also I verified it runs cleanly on a few other back-ends (arm,
loongarch).

The tool can be used to convert a single pattern, an open buffer or
all md files in a directory.

The tool might need further adjustment to run on some specific
back-end, in case very happy to help.

This patch was pre-approved here [1].

Best Regards

  Andrea Corallo

[1] <https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631830.html>

contrib/ChangeLog

	* mdcompact/mdcompact-testsuite.el: New file.
	* mdcompact/mdcompact.el: Likewise.
	* mdcompact/tests/1.md: Likewise.
	* mdcompact/tests/1.md.out: Likewise.
	* mdcompact/tests/2.md: Likewise.
	* mdcompact/tests/2.md.out: Likewise.
	* mdcompact/tests/3.md: Likewise.
	* mdcompact/tests/3.md.out: Likewise.
	* mdcompact/tests/4.md: Likewise.
	* mdcompact/tests/4.md.out: Likewise.
	* mdcompact/tests/5.md: Likewise.
	* mdcompact/tests/5.md.out: Likewise.
	* mdcompact/tests/6.md: Likewise.
	* mdcompact/tests/6.md.out: Likewise.
	* mdcompact/tests/7.md: Likewise.
	* mdcompact/tests/7.md.out: Likewise.
2023-10-05 17:41:54 +02:00
GCC Administrator
96557ee6a0 Daily bump. 2023-10-04 00:17:41 +00:00
Martin Jambor
5f18797450
contrib/mklog.py: Fix issues reported by flake8
The testing infrastructure built by Martin Liška contains checking a
few python scripts in contrib witha tool flake8.  That tool recently
complains that:

  contrib/mklog.py:360:45: E711 comparison to None should be 'if cond is None:'
  contrib/mklog.py:362:1: E305 expected 2 blank lines after class or function definition, found 1

I'd like to silence these with the following, hopefully trivial,
changes.  However, I have only tested the changes by running flake8
again and running ./contrib/mklog.py --help.

Is this good for trunk?  (Or should I stop using flake8 instead?)

Thanks,

Martin

contrib/ChangeLog:

2023-10-03  Martin Jambor  <mjambor@suse.cz>

	* mklog.py (skip_line_in_changelog): Compare to None using is instead
	of ==, add an extra newline after the function.
2023-10-03 19:10:01 +02:00
GCC Administrator
41d1c9a979 Daily bump. 2023-10-03 00:17:22 +00:00
Iain Sandoe
594fe74576 contrib: Update Darwin entries in config-list.mk
This list was out of date, and included cases that are not well-supported
for cross-compilers.

This updates the list to bracket the range of OS versions we support and
to drop one earlier case where GCC will no longer build with native tools.

contrib/ChangeLog:

	* config-list.mk: Add newer Darwin versions, trim one older.
	Remove cases with no OS version, which is not supported for cross-
	compilers.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
2023-10-02 19:19:29 +01:00
GCC Administrator
87c00507b8 Daily bump. 2023-09-30 00:17:24 +00:00
Patrick O'Neill
895ec1956a check_GNU_style.py: Skip .md square bracket linting
This testcase causes lots of false-positives for machine description files.

contrib/ChangeLog:

	* check_GNU_style_lib.py: Skip machine description file bracket linting.

Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
2023-09-29 14:13:02 -07:00
Paul Iannetta
346f599156 Harmonize headers between both dg-extract-results scripts
The header of the python version looked like:
    Target is ...
    Host   is ...
    The header of the bash version looked like:
    Test run by ... on ...
    Target is ...

    After this change both headers look like:
    Test run by ... on ...
    Target is ...
    Host   is ...

    The order of the tests is not the same but since dg-cmp-results.sh it
    does not matter much.

contrib/ChangeLog:

	* dg-extract-results.py: Print the "Test run" line.
	* dg-extract-results.sh: Print the "Host" line.
2023-09-29 08:50:28 -06:00
GCC Administrator
a1c20158c6 Daily bump. 2023-09-13 00:18:00 +00:00
Jonathan Wakely
df63338236 contrib: Quote variable in test expression [PR111360]
Without the quotes some shells will always return true and some will
print an error. It should be quoted so that a null variable works as
intended.

contrib/ChangeLog:

	PR other/111360
	* gcc_update: Quote variable.
2023-09-12 12:42:47 +01:00
GCC Administrator
fb4b53d964 Daily bump. 2023-09-12 00:17:50 +00:00
Jonathan Wakely
5c3c04960d contrib: Check if getent is available in git setup script [PR111359]
contrib/ChangeLog:

	PR other/111359
	* gcc-git-customization.sh: Check for getent before using it.
	Use id on macOS.
2023-09-11 12:36:02 +01:00
Tobias Burnus
478c37e723 Update contrib + libgomp ChangeLogs for failed reject-commit testing
The following commit should have enabled checking for invalid revert hashes;
it worked locally - but did work as pre-commit hook on sourceware
as it wasn't copied to the hook directory:
r14-3777-gff20bce9f58 contrib/gcc-changelog: Check whether revert-commit exists

Hence, the following revert commit was wrongly applied:
r14-3778-gfbbd9001e9b Revert "contrib/gcc-changelog: Check whether revert-commit exists"
(In this commit: contrib/ChangeLog update for the revert.)

r14-3779-g69e83181ebc contrib/gcc-changelog: Check whether revert-commit exists
Re-applied the commit with a commit-log typo fixed but missing a late commit.

r14-3780-g1b0934b7276 Revert "contrib/gcc-changelog: Check whether revert-commit exists"
This commit still came through but re-instated the late wording fix in
contrib/gcc-changelog/git_commit.py.
(In this commit: contrib/ChangeLog update for the wording change.)

r14-3781-gd22cd7745ff Revert: "Another revert test with a bogus hash"
Another attempt to get a reject, but it still came through.
It removed tailing whitespace in libgomp/target.c
(In this commit: libgomp/ChangeLog was for the whitespace removal.)
2023-09-08 12:02:02 +02:00
GCC Administrator
109c11f62b Daily bump. 2023-09-08 09:41:34 +00:00
Tobias Burnus
1b0934b727 Revert "contrib/gcc-changelog: Check whether revert-commit exists"
This reverts commit ffffffffffffffffffffffffffffffffffffffff.

This checks whether the pre-commit hook of the mentioned commit
triggers and rejects this commit due to the bogus commit hash.

This commit actually does not revert that patch but fixes that
patch as 'technically' was accidently re-added in the second
commit.
2023-09-07 13:00:55 +02:00
Tobias Burnus
69e83181eb contrib/gcc-changelog: Check whether revert-commit exists
This is the identical (except for a ChangeLog typo) to
  commit r14-3777-gff20bce9f5879878f352f1fcd6ade023a2067598

It reverts the test revert in commit
  r14-3778-gfbbd9001e9b6f2c59b542cc53a8f9183514091ce
which has a bogus commit hash and should have been rejected,
but we missed that - before testing - the script had to be
manually copied to the right place on sourceware to be
affective as pre-commit hook.

Thus, the r14-3777 commit had to be reinstate by this commit ...

contrib/ChangeLog:

	* gcc-changelog/git_commit.py (GitCommit.__init__):
	Handle commit_to_info_hook = None; otherwise, if None,
	regard it as error.
	(to_changelog_entries): Handle commit_to_info_hook = None;
	if info is None, create a warning for it.
	* gcc-changelog/git_email.py (GitEmail.__init__):
	call super() with commit_to_info_hook=None instead
	of a lambda function.
2023-09-07 12:52:37 +02:00
Tobias Burnus
fbbd9001e9 Revert "contrib/gcc-changelog: Check whether revert-commit exists"
This reverts commit ffffffffffffffffffffffffffffffffffffffff.
2023-09-07 12:40:57 +02:00
Tobias Burnus
ff20bce9f5 contrib/gcc-changelog: Check whether revert-commit exists
contrib/ChangeLog:

	* gcc-changelog/git_commit.py (GitCommit.__init__):
	Handle commit_to_info_hook = None; otherwise, if None,
	regard it as error.
	(to_changelog_entries): Handle commit_to_info_hook = None;
	if info is None, create a warning for it.
	* gcc-changelog/git_email.py (GitEmail.__init__):
	call super() with commit_to_info_hook=None instead
	of a lamda function.
2023-09-07 12:39:39 +02:00
GCC Administrator
d820cd785b Daily bump. 2023-09-05 13:34:14 +00:00
Marc Poulhiès
f3f6ff7b16 mklog: handle Signed-off-by, minor cleanup
Consider Signed-off-by lines as part of the ending of the initial
commit to avoid having these in the middle of the log when the
changelog part is injected after.

This is particularly usefull with:

 $ git gcc-commit-mklog --amend -s

that can be used to create the changelog and add the Signed-off-by line.

Also applies most of the shellcheck suggestions on the
prepare-commit-msg hook.

contrib/ChangeLog:

	* mklog.py: Leave SOB lines after changelog.
	* prepare-commit-msg: Apply most shellcheck suggestions.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2023-09-04 21:43:36 +02:00
GCC Administrator
ded52c9fc5 Daily bump. 2023-08-30 00:18:25 +00:00
Lehua Ding
ebffc840f5 mklog: fix bugs of --append option
This little patch fix two bugs of mklog.py with --append option.
The first bug is that the regexp used is not accurate enough to
determine the top of diff area. The second bug is that if `---`
is not a true start, it needs to be added back to the patch file.
And with additional fix Python code format error, which Martin reported.

contrib/ChangeLog:

	* mklog.py: Fix bugs.
2023-08-29 09:36:52 +08:00
GCC Administrator
8e71ad9e78 Daily bump. 2023-08-17 00:17:21 +00:00
Andrew Pinski
034dd4252c Add libstdc++-v3/include/bits/version.h to gcc_update touch part
This adds libstdc++-v3/include/bits/version.h so it has the correct timestamp.

Committed as obvious after running contrib/gcc_update --touch

contrib/ChangeLog:

	* gcc_update: Add libstdc++-v3/include/bits/version.h.
2023-08-16 15:36:43 -07:00
GCC Administrator
3d0ca8b55b Daily bump. 2023-07-14 00:16:43 +00:00
Lehua Ding
7f0700a689 mklog: Add --append option to auto add generate ChangeLog to patch file
This tiny patch add --append option to mklog.py that support add generated
change-log to the corresponding patch file. With this option there is no need
to manually copy the generated change-log to the patch file. e.g.:

Run `mklog.py --append /path/to/this/patch` will add the generated change-log
to the right place of the /path/to/this/patch file.

contrib/ChangeLog:

	* mklog.py: Add --append option.

Signed-off-by: Lehua Ding <lehua.ding@rivai.ai>
2023-07-13 11:28:31 +08:00
GCC Administrator
01405f0108 Daily bump. 2023-07-08 00:16:53 +00:00
Richard Biener
8bebf97f84 Closing the GCC 10 branch
contrib/
	* gcc-changelog/git_update_version.py: Remove GCC 10 from
	active_refs.

maintainer-scripts/
	* crontab: Remove entry for GCC 10.
2023-07-07 09:11:46 +02:00
GCC Administrator
270742ceb5 Daily bump. 2023-06-23 00:16:38 +00:00
David Malcolm
4f01ae3761 diagnostics: add support for "text art" diagrams
Existing text output in GCC has to be implemented by writing
sequentially to a pretty_printer instance.  This makes it
hard to implement some kinds of diagnostic output (see e.g.
diagnostic-show-locus.cc).

This patch adds more flexible ways of creating text output:
- a canvas class, which can be "painted" to via random-access (rather
that sequentially)
- a table class for 2D grid layout, supporting items that span
multiple rows/columns
- a widget class for organizing diagrams hierarchically.

The patch also expands GCC's diagnostics subsystem so that diagnostics
can have "text art" diagrams - think ASCII art, but potentially
including some Unicode characters, such as box-drawing chars.

The new code is in a new "gcc/text-art" subdirectory and "text_art"
namespace.

The patch adds a new "-fdiagnostics-text-art-charset=VAL" option, with
values:
- "none": don't emit diagrams (added to -fdiagnostics-plain-output)
- "ascii": use pure ASCII in diagrams
- "unicode": allow for conservative use of unicode drawing characters
(such as box-drawing characters).
- "emoji" (the default): as "unicode", but potentially allow for
conservative use of emoji in the output (such as U+26A0 WARNING SIGN).
I made it possible to disable emoji separately from unicode as I believe
there's a generation gap in acceptance of these characters (some older
programmers have a visceral reaction against them, whereas younger
programmers may have no problem with them).

Diagrams are emitted to stderr by default.  With SARIF output they are
captured as a location in "relatedLocations", with the diagram as a
code block in Markdown within a "markdown" property of a message.

This patch doesn't add any such diagram usage to GCC, saving that for
followups, apart from adding a plugin to the test suite to exercise the
functionality.

contrib/ChangeLog:
	* unicode/gen-box-drawing-chars.py: New file.
	* unicode/gen-combining-chars.py: New file.
	* unicode/gen-printable-chars.py: New file.

gcc/ChangeLog:
	* Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o,
	text-art/canvas.o, text-art/ruler.o, text-art/selftests.o,
	text-art/style.o, text-art/styled-string.o, text-art/table.o,
	text-art/theme.o, and text-art/widget.o.
	* color-macros.h (COLOR_FG_BRIGHT_BLACK): New.
	(COLOR_FG_BRIGHT_RED): New.
	(COLOR_FG_BRIGHT_GREEN): New.
	(COLOR_FG_BRIGHT_YELLOW): New.
	(COLOR_FG_BRIGHT_BLUE): New.
	(COLOR_FG_BRIGHT_MAGENTA): New.
	(COLOR_FG_BRIGHT_CYAN): New.
	(COLOR_FG_BRIGHT_WHITE): New.
	(COLOR_BG_BRIGHT_BLACK): New.
	(COLOR_BG_BRIGHT_RED): New.
	(COLOR_BG_BRIGHT_GREEN): New.
	(COLOR_BG_BRIGHT_YELLOW): New.
	(COLOR_BG_BRIGHT_BLUE): New.
	(COLOR_BG_BRIGHT_MAGENTA): New.
	(COLOR_BG_BRIGHT_CYAN): New.
	(COLOR_BG_BRIGHT_WHITE): New.
	* common.opt (fdiagnostics-text-art-charset=): New option.
	(diagnostic-text-art.h): New SourceInclude.
	(diagnostic_text_art_charset) New Enum and EnumValues.
	* configure: Regenerate.
	* configure.ac (gccdepdir): Add text-art to loop.
	* diagnostic-diagram.h: New file.
	* diagnostic-format-json.cc (json_emit_diagram): New.
	(diagnostic_output_format_init_json): Wire it up to
	context->m_diagrams.m_emission_cb.
	* diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and
	"text-art/canvas.h".
	(sarif_result::on_nested_diagnostic): Move code to...
	(sarif_result::add_related_location): ...this new function.
	(sarif_result::on_diagram): New.
	(sarif_builder::emit_diagram): New.
	(sarif_builder::make_message_object_for_diagram): New.
	(sarif_emit_diagram): New.
	(diagnostic_output_format_init_sarif): Set
	context->m_diagrams.m_emission_cb to sarif_emit_diagram.
	* diagnostic-text-art.h: New file.
	* diagnostic.cc: Include "diagnostic-text-art.h",
	"diagnostic-diagram.h", and "text-art/theme.h".
	(diagnostic_initialize): Initialize context->m_diagrams and
	call diagnostics_text_art_charset_init.
	(diagnostic_finish): Clean up context->m_diagrams.m_theme.
	(diagnostic_emit_diagram): New.
	(diagnostics_text_art_charset_init): New.
	* diagnostic.h (text_art::theme): New forward decl.
	(class diagnostic_diagram): Likewise.
	(diagnostic_context::m_diagrams): New field.
	(diagnostic_emit_diagram): New decl.
	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
	-fdiagnostics-text-art-charset=.
	(-fdiagnostics-plain-output): Add
	-fdiagnostics-text-art-charset=none.
	* gcc.cc: Include "diagnostic-text-art.h".
	(driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_.
	* opts-common.cc (decode_cmdline_options_to_array): Add
	"-fdiagnostics-text-art-charset=none" to expanded_args for
	-fdiagnostics-plain-output.
	* opts.cc: Include "diagnostic-text-art.h".
	(common_handle_option): Handle OPT_fdiagnostics_text_art_charset_.
	* pretty-print.cc (pp_unicode_character): New.
	* pretty-print.h (pp_unicode_character): New decl.
	* selftest-run-tests.cc: Include "text-art/selftests.h".
	(selftest::run_tests): Call text_art_tests.
	* text-art/box-drawing-chars.inc: New file, generated by
	contrib/unicode/gen-box-drawing-chars.py.
	* text-art/box-drawing.cc: New file.
	* text-art/box-drawing.h: New file.
	* text-art/canvas.cc: New file.
	* text-art/canvas.h: New file.
	* text-art/ruler.cc: New file.
	* text-art/ruler.h: New file.
	* text-art/selftests.cc: New file.
	* text-art/selftests.h: New file.
	* text-art/style.cc: New file.
	* text-art/styled-string.cc: New file.
	* text-art/table.cc: New file.
	* text-art/table.h: New file.
	* text-art/theme.cc: New file.
	* text-art/theme.h: New file.
	* text-art/types.h: New file.
	* text-art/widget.cc: New file.
	* text-art/widget.h: New file.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test.
	* gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test.
	* gcc.dg/plugin/diagnostic-test-text-art-none.c: New test.
	* gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test.
	* gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test.
	* gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin.
	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add them.

libcpp/ChangeLog:
	* charset.cc (get_cppchar_property): New function template, based
	on...
	(cpp_wcwidth): ...this function.  Rework to use the above.
	Include "combining-chars.inc".
	(cpp_is_combining_char): New function
	Include "printable-chars.inc".
	(cpp_is_printable_char): New function
	* combining-chars.inc: New file, generated by
	contrib/unicode/gen-combining-chars.py.
	* include/cpplib.h (cpp_is_combining_char): New function decl.
	(cpp_is_printable_char): New function decl.
	* printable-chars.inc: New file, generated by
	contrib/unicode/gen-printable-chars.py.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2023-06-21 21:49:00 -04:00
GCC Administrator
729c6f4063 Daily bump. 2023-06-18 00:16:32 +00:00
Thiago Jung Bauermann
8955eed34b [contrib] validate_failures.py: Don't consider summary line in wrong place
When parsing a summary or manifest file, if we're not either after a tool
line (e.g. "=== gdb tests ===") or before a summary line (e.g.,
"=== gdb Summary ===") then the current line can't be a valid result line
so ignore it.

This addresses a problem we're seeing when running the GDB testsuite in
our CI environment where it produces a valid summary file, but then after
the "=== gdb Summary ===" section it outputs a series of Tcl errors that
match _VALID_TEST_RESULTS_REX and thus confuse the parsing logic:

05: 14:32 .sum file seems to be broken: tool="None", exp="None", summary_line="ERROR: -------------------------------------------"
05: 14:32 Traceback (most recent call last):
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 706, in <module>
05: 14:32     retval = Main(sys.argv)
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 697, in Main
05: 14:32     retval = CheckExpectedResults()
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 572, in CheckExpectedResults
05: 14:32     actual = GetResults(sum_files)
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 447, in GetResults
05: 14:32     build_results.update(ParseSummary(sum_fname))
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 389, in ParseSummary
05: 14:32     result = result_set.MakeTestResult(line, ordinal)
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 236, in MakeTestResult
05: 14:32     return TestResult(summary_line, ordinal,
05: 14:32   File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 148, in __init__
05: 14:32     raise

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (IsInterestingResult):
	Add result_set argument and use it.  Adjust callers.
2023-06-17 16:02:22 -06:00
GCC Administrator
c1c5edef33 Daily bump. 2023-06-15 00:16:35 +00:00
Maxim Kuvyrkov
9ef1391d86 [contrib] validate_failures.py: Ignore stray filesystem paths in results
This patch simplifies comparison of results that have filesystem
paths.  E.g., (assuming different values of <N>):
<cut>
Running /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ...
ERROR: tcl error sourcing /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp.
</cut>

We add "--srcpath <regex>", option, and set it by default to
"[^ ]+/testsuite/", which works well for all components of the GNU
Toolchain.  We then remove substrings matching <regex> from paths of
.exp files and from occasional "ERROR:" results.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (TestResult,)
	(ParseManifestWorker, ParseSummary, Main): Handle new option
	"--srcpath <regex>".
2023-06-14 14:29:48 +00:00
Maxim Kuvyrkov
316b1d66d3 [contrib] validate_failures.py: Add "--expiry_date YYYYMMDD" option
This option sets "today" date to compare expiration entries against.
Setting expiration date into the future allows re-detection of flaky
tests and creating fresh entries for them before the current flaky
entries expire.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (TestResult): Update.
	(Main): Handle new option "--expiry_date YYYYMMDD".
2023-06-14 14:29:48 +00:00
Maxim Kuvyrkov
22a0ade86c [contrib] validate_failures.py: Add new option --invert_match
This option is used to detect flaky tests that FAILed in the clean
build (or manifest), but PASSed in the current build (or manifest).

The option inverts output logic similar to what "-v/--invert-match"
does for grep.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (ResultSet.update,)
	(ResultSet.HasTestsuite): New methods.
	(GetResults): Update.
	(ParseSummary, CompareResults, PerformComparison, Main): Handle new
	option --invert_match.
2023-06-14 14:29:47 +00:00
Thiago Bauermann
7aa47751d2 [contrib] validate_failures.py: Improve error output
- Print message in case of broken sum file error.
- Print error messages to stderr.  The script's stdout is, usually,
  redirected to a file, and error messages shouldn't go there.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (TestResult): Improve error
	output.
2023-06-14 14:29:47 +00:00
Christophe Lyon
484a48640c [contrib] validate_failures.py: Support "$tool:" prefix in exp names
This makes it easier to extract the $tool:$exp pair when iterating
over failures/flaky tests, which, in turn, simplifies re-running
testsuite parts that have unexpected failures or passes.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (_EXP_LINE_FORMAT,)
	(_EXP_LINE_REX, ResultSet): Support "$tool:" prefix in exp names.
2023-06-14 14:29:47 +00:00
Maxim Kuvyrkov
5d52f35546 [contrib] validate_failures.py: Use exit code "2" to indicate regression
... in the results.  Python exits with code "1" on exceptions and
internal errors, which we use to detect failure to parse results.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (Main): Use exit code "2"
	to indicate regression.
2023-06-14 14:29:47 +00:00
Maxim Kuvyrkov
d4d776a341 [contrib] validate_failures.py: Be more stringent in parsing result lines
Before this patch we would identify malformed line
"UNRESOLVEDTest run by tcwg-buildslave on Mon Aug 23 10:17:50 2021"
as an interesting result, only to fail in TestResult:__init__ due
to missing ":" after UNRESOLVED.

This patch makes all places that parse result lines use a single
compiled regex.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (_VALID_TEST_RESULTS_REX):
	Update.
	(TestResult): Use _VALID_TEST_RESULTS_REX.
2023-06-14 14:29:47 +00:00
Maxim Kuvyrkov
e341d15be3 [contrib] validate_failures.py: Add more verbosity levels
... to control validate_failures.py output

contrib/ChangeLog:

	* testsuite-management/validate_failures.py: Add more verbosity levels.
2023-06-14 14:29:47 +00:00
Maxim Kuvyrkov
febe56cb34 [contrib] validate_failures.py: Simplify GetManifestPath()
... and don't require a valid build directory when no data from it
is necessary.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py: Simplify GetManifestPath().
2023-06-14 14:29:46 +00:00
Maxim Kuvyrkov
5f8cc7f00c [contrib] validate_failures.py: Read in manifest when comparing build dirs
This allows comparison of two build directories with a manifest
listing known flaky tests on the side.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py (GetResults): Update.
	(CompareBuilds): Read in manifest.
2023-06-14 14:29:46 +00:00
Maxim Kuvyrkov
b713de1ce5 [contrib] validate_failures.py: Support expiry attributes in manifests
contrib/ChangeLog:

	* testsuite-management/validate_failures.py (ParseManifestWorker):
	Support expiry attributes in manifests.
	(ParseSummary): Add a comment.
2023-06-14 14:29:46 +00:00
Maxim Kuvyrkov
c855862799 [contrib] validate_failures.py: Avoid testsuite aliasing
This patch adds tracking of current testsuite "tool" and "exp"
to the processing of .sum files.  This avoids aliasing between
tests from different testsuites with same name+description.

E.g., this is necessary for testsuite/c-c++-common, which is ran
for both gcc and g++ "tools".

This patch changes manifest format from ...
<cut>
FAIL: gcc_test
FAIL: g++_test
</cut>
... to ...
<cut>
		=== gcc tests ===
Running gcc/foo.exp ...
FAIL: gcc_test
		=== gcc Summary ==
		=== g++ tests ===
Running g++/bar.exp ...
FAIL: g++_test
		=== g++ Summary ==
</cut>.

The new format uses same formatting as DejaGnu's .sum files
to specify which "tool" and "exp" the test belongs to.

contrib/ChangeLog:

	* testsuite-management/validate_failures.py: Avoid testsuite
	aliasing.
2023-06-14 14:29:46 +00:00
GCC Administrator
532fb12035 Daily bump. 2023-06-14 00:17:28 +00:00
Andi Kleen
950fa8552b Update perf auto profile script
- Fix gen_autofdo_event: The download URL for the Intel Perfmon Event
  list has changed, as well as the JSON format.
  Also it now uses pattern matching to match CPUs. Update the script to support all of this.
- Regenerate gcc-auto-profile with the latest published Intel model
  numbers, so it works with recent systems.
- So far it's still broken on hybrid systems

contrib/ChangeLog:

	* gen_autofdo_event.py: Update for download server changes

gcc/ChangeLog

	* config/i386/gcc-auto-profile: Regenerate.
2023-06-12 19:22:22 -07:00
GCC Administrator
321cee7e29 Daily bump. 2023-06-04 00:16:43 +00:00
Lehua Ding
d42f3ad0f7 Add more ForEachMacros to clang-format file
contrib/
	* clang-format (ForEachMacros): Add missing cases
	for EXECUTE_IF_... macros.
2023-06-03 09:54:24 -06:00
GCC Administrator
b27760769c Daily bump. 2023-05-19 00:17:43 +00:00
Jonathan Wakely
120e444974 contrib: Fix nonportable shell syntax in "test" and "[" commands [PR105831]
POSIX sh does not support the == for string comparisons, use = instead.

These contrib scripts all use a bash shebang so == does work, but
there's no reason they can't just use the more portable form anyway.

	PR bootstrap/105831

contrib/ChangeLog:

	* bench-stringop: Use = operator instead of ==.
	* repro_fail: Likewise.

contrib/reghunt/ChangeLog:

	* bin/reg-hunt: Use = operator instead of ==.
2023-05-18 14:01:40 +01:00
GCC Administrator
5020519574 Daily bump. 2023-04-29 00:16:48 +00:00
Martin Liska
db7e7776b0 contrib: port doxygen script to Python3
contrib/ChangeLog:

	* filter_gcc_for_doxygen: Use python3 and not python2.
	* filter_params.py: Likewise.
2023-04-28 16:42:17 +02:00
GCC Administrator
4a3dbcbdb3 Daily bump. 2023-04-27 00:16:44 +00:00
Jakub Jelinek
f2f721d13b Update gennews for GCC 13.
2023-04-26  Jakub Jelinek  <jakub@redhat.com>

	* gennews (files): Add files for GCC 13.
2023-04-26 09:05:49 +02:00
GCC Administrator
56b288f508 Daily bump. 2023-04-18 00:17:26 +00:00
Jakub Jelinek
f46ab32139 Update crontab and git_update_version.py
2023-04-17  Jakub Jelinek  <jakub@redhat.com>

maintainer-scripts/
	* crontab: Snapshots from trunk are now GCC 14 related.
	Add GCC 13 snapshots from the respective branch.
contrib/
	* gcc-changelog/git_update_version.py (active_refs): Add
	releases/gcc-13.
2023-04-17 15:16:11 +02:00
GCC Administrator
5c389a5c36 Daily bump. 2023-03-17 00:17:03 +00:00
Jakub Jelinek
63b25b8012 contrib: Update instructions regarding Unicode updates
I've noticed we have instructions on how to update from newer Unicode
standard, but it didn't mention uname2c.h regeneration.

The following patch mentions that, also mentions that the Copyright years
of Unicode should be updated and adds a copy of NameAliases.txt which
is used for uname2c.h generation.

2023-03-16  Jakub Jelinek  <jakub@redhat.com>

	* unicode/README: Update to mention also makeuname2c.
	* unicode/NameAliases.txt: New file.
2023-03-16 10:28:25 +01:00
GCC Administrator
a9835599fd Daily bump. 2023-03-14 00:17:05 +00:00
Lewis Hyatt
73dd5c6c88 libcpp: Update cpp_wcwidth() to Unicode 15
Updates cpp_wcwidth() to Unicode 15, following the procedure in
contrib/unicode/README mechanically without incident.

contrib/ChangeLog:

	* unicode/DerivedCoreProperties.txt: Update to Unicode 15.
	* unicode/DerivedNormalizationProps.txt: Likewise.
	* unicode/EastAsianWidth.txt: Likwise.
	* unicode/PropList.txt: Likewise.
	* unicode/README: Likewise.
	* unicode/UnicodeData.txt: Likewise.

libcpp/ChangeLog:

	* generated_cpp_wcwidth.h: Regenerated for Unicode 15.
2023-03-13 07:40:50 -04:00
GCC Administrator
b6f98991b1 Daily bump. 2023-02-23 00:17:57 +00:00
Thomas Schwinge
10f085135b In 'contrib/config-list.mk', clarify i686-symbolics-gnu to i686-gnu
Already in the first revision of 'contrib/config-list.mk', i686-symbolics-gnu
has been present, but it's not clear to me whether that was meant to be
Symbolics as in the manufacturer, <https://en.wikipedia.org/wiki/Symbolics>,
with GNU (that is, GNU/Hurd) kernel/operating system (user land), or Symbolics
kernel with GNU operating system (user land)?

I can't find any mention of "Symbolics" in the history of 'config.sub'
upstream.

Either way, GCC configures i686-symbolics-gnu exactly the same as i686-gnu:

    $ sed -n -e '/Using .* host machine hooks\.$/q' -e '/^Using the following target machine macro files:$/,$p' log/i686-gnu-make.out
    Using the following target machine macro files:
            [...]/gcc/config/vxworks-dummy.h
            [...]/gcc/config/i386/i386.h
            [...]/gcc/config/i386/unix.h
            [...]/gcc/config/i386/att.h
            [...]/gcc/config/elfos.h
            [...]/gcc/config/gnu-user.h
            [...]/gcc/config/glibc-stdint.h
            [...]/gcc/config/i386/gnu-user-common.h
            [...]/gcc/config/i386/gnu-user.h
            [...]/gcc/config/gnu.h
            [...]/gcc/config/i386/gnu.h
            [...]/gcc/config/initfini-array.h

..., so let's clarify i686-symbolics-gnu to i686-gnu.

	contrib/
	* config-list.mk (LIST): Clarify i686-symbolics-gnu to i686-gnu.
2023-02-22 09:07:15 +01:00
GCC Administrator
7814ce44f2 Daily bump. 2023-02-18 00:17:20 +00:00
Rainer Orth
ae2c1d0a9d contrib: Fix make_sunver.pl warning
Petr informed me that perl 5.32 bundled with Solaris 11.4 warns about
make_sunver.pl:

Unescaped left brace in regex is passed through in regex; marked by <-- HERE in m/^([ \t]*){ <-- HERE $/ at /vol/gcc/src/hg/master/local/libgomp/../contrib/make_sunver.pl line 216.

I didn't notice since I'm using a common installation of perl 5.12
across Solaris versions that doesn't show that warning.

His patch fixes the issue.  Tested on Solaris 11.3 (perl 5.12) and 11.4
(perl 5.32).

2023-01-20  Petr Sumbera  <petr.sumbera@oracle.com>

	contrib:
	* make_sunver.pl: Escape brace.
2023-02-17 13:33:25 +01:00
GCC Administrator
88cc449525 Daily bump. 2023-02-17 00:17:49 +00:00
Hans-Peter Nilsson
384dedaf65 objs-gcc.sh: Only bootstrap if source-directory contains gcc
I use objs-gcc.sh as a preparatory step before calling
btest-gcc.sh in my scripts, for example my cris-elf
autotester.  I thought, why not use it for native builds
too.  Except that use, with binutils release-style tarballs
and a x86_64-pc-linux-gnu host, was broken.  Now that I look
at it, the script seems to have aged poorly...  Still,
there's a need for such a script to install stuff needed for
btest-gcc.sh (and to fix up stuff if needed), and this can
still be that script.  So, I prefer to fix show-stoppers for
common uses, while taking care to retain compatibility for
use that could possibly still work, with current sources.

A long time ago (before 2011, but after this script was
created in 2002, and used for a few years), the binutils
(and gdb and gcc) toplevel Makefile may have had a bootstrap
target that worked with binutils but didn't require gcc
sources to be present.  Now, you'll get an error (see
configure.ac line 1366 and on).  Let's just build the
default make-target when "bootstrap" is known to fail.
An alternative would be to fold this native
non-i686-pc-linux-gnu clause into the native
i686-pc-linux-gnu clause, as that seems to have been
originally intended as *the* single native clause, but
that'd require further edits (e.g. to remove install-dejagnu
and make gdb build conditional on gdb sources presence, to
work with binutils tarballs, and I'd also then prefer to
build not just ld, but also gas and binutils).

As it's a minimal obvious change required for current native
use with release-tarballs and git-checkout use(*), I'm
installing this as obvious.

*) Native i686-pc-linux-gnu remains broken for other use
than specially constructed combined trees where dejagnu is
included at the toplevel (i.e. historic Cygnus devo-type).

contrib/regression:
	* objs-gcc.sh: Only bootstrap if source-directory contains gcc.
2023-02-16 01:26:45 +01:00