<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gcc.git/libffi, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/'/>
<entry>
<title>Daily bump.</title>
<updated>2025-11-04T00:20:26+00:00</updated>
<author>
<name>GCC Administrator</name>
<email>gccadmin@gcc.gnu.org</email>
</author>
<published>2025-11-04T00:20:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=0e9ccae2693b802c20448aa03217e6340b4e5d61'/>
<id>0e9ccae2693b802c20448aa03217e6340b4e5d61</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gcc: sync top-level with binutils-gdb</title>
<updated>2025-11-03T20:25:00+00:00</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2025-11-03T09:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=f8bb20167f81271f2309f15c4d1563a2173a79ca'/>
<id>f8bb20167f81271f2309f15c4d1563a2173a79ca</id>
<content type='text'>
This just pulls in Alan's:

commit 87b6078fc212ccba5f043399c6370ee20f6b355a
Author:     Alan Modra &lt;amodra@gmail.com&gt;
AuthorDate: Mon Nov 3 10:59:50 2025 +1030
Commit:     Alan Modra &lt;amodra@gmail.com&gt;
CommitDate: Mon Nov 3 10:59:50 2025 +1030

    tidy m4 plugin config support

    ...

It tidies up the configure test output.

config/ChangeLog:

	* clang-plugin.m4: Sync with binutils.
	* gcc-plugin.m4: Ditto.

ChangeLog:

	* configure: Regenerate.

gcc/ChangeLog:

	* configure: Regenerate.

libatomic/ChangeLog:

	* configure: Regenerate.

libbacktrace/ChangeLog:

	* configure: Regenerate.

libcc1/ChangeLog:

	* configure: Regenerate.

libffi/ChangeLog:

	* configure: Regenerate.

libgcobol/ChangeLog:

	* configure: Regenerate.

libgfortran/ChangeLog:

	* configure: Regenerate.

libgm2/ChangeLog:

	* configure: Regenerate.

libgomp/ChangeLog:

	* configure: Regenerate.

libgrust/ChangeLog:

	* configure: Regenerate.

libiberty/ChangeLog:

	* configure: Regenerate.

libitm/ChangeLog:

	* configure: Regenerate.

libobjc/ChangeLog:

	* configure: Regenerate.

libphobos/ChangeLog:

	* configure: Regenerate.

libquadmath/ChangeLog:

	* configure: Regenerate.

libsanitizer/ChangeLog:

	* configure: Regenerate.

libssp/ChangeLog:

	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.

lto-plugin/ChangeLog:

	* configure: Regenerate.

zlib/ChangeLog:

	* configure: Regenerate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This just pulls in Alan's:

commit 87b6078fc212ccba5f043399c6370ee20f6b355a
Author:     Alan Modra &lt;amodra@gmail.com&gt;
AuthorDate: Mon Nov 3 10:59:50 2025 +1030
Commit:     Alan Modra &lt;amodra@gmail.com&gt;
CommitDate: Mon Nov 3 10:59:50 2025 +1030

    tidy m4 plugin config support

    ...

It tidies up the configure test output.

config/ChangeLog:

	* clang-plugin.m4: Sync with binutils.
	* gcc-plugin.m4: Ditto.

ChangeLog:

	* configure: Regenerate.

gcc/ChangeLog:

	* configure: Regenerate.

libatomic/ChangeLog:

	* configure: Regenerate.

libbacktrace/ChangeLog:

	* configure: Regenerate.

libcc1/ChangeLog:

	* configure: Regenerate.

libffi/ChangeLog:

	* configure: Regenerate.

libgcobol/ChangeLog:

	* configure: Regenerate.

libgfortran/ChangeLog:

	* configure: Regenerate.

libgm2/ChangeLog:

	* configure: Regenerate.

libgomp/ChangeLog:

	* configure: Regenerate.

libgrust/ChangeLog:

	* configure: Regenerate.

libiberty/ChangeLog:

	* configure: Regenerate.

libitm/ChangeLog:

	* configure: Regenerate.

libobjc/ChangeLog:

	* configure: Regenerate.

libphobos/ChangeLog:

	* configure: Regenerate.

libquadmath/ChangeLog:

	* configure: Regenerate.

libsanitizer/ChangeLog:

	* configure: Regenerate.

libssp/ChangeLog:

	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.

lto-plugin/ChangeLog:

	* configure: Regenerate.

zlib/ChangeLog:

	* configure: Regenerate.
</pre>
</div>
</content>
</entry>
<entry>
<title>Daily bump.</title>
<updated>2025-10-05T16:50:51+00:00</updated>
<author>
<name>GCC Administrator</name>
<email>gccadmin@gcc.gnu.org</email>
</author>
<published>2025-10-05T16:50:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=7f57e04ce415cba84b164aaab3ecfcccde28584a'/>
<id>7f57e04ce415cba84b164aaab3ecfcccde28584a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>*: regenerate autotools</title>
<updated>2025-10-05T16:14:49+00:00</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2025-10-05T16:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=ac273977adbe769c9d31708a403122e3b46365d8'/>
<id>ac273977adbe769c9d31708a403122e3b46365d8</id>
<content type='text'>
libatomic/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libcc1/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

libffi/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgcobol/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libgfortran/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libgm2/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libm2cor/Makefile.in: Regenerate.
	* libm2iso/Makefile.in: Regenerate.
	* libm2log/Makefile.in: Regenerate.
	* libm2min/Makefile.in: Regenerate.
	* libm2pim/Makefile.in: Regenerate.

libgomp/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgrust/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libformat_parser/Makefile.in: Regenerate.
	* libproc_macro_internal/Makefile.in: Regenerate.

libitm/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/ChangeLog:

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

libphobos/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libquadmath/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libsanitizer/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* asan/Makefile.in: Regenerate.
	* configure: Regenerate.
	* hwasan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

libssp/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++23/Makefile.in: Regenerate.
	* src/c++26/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.
	* src/experimental/Makefile.in: Regenerate.
	* src/filesystem/Makefile.in: Regenerate.
	* src/libbacktrace/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libvtv/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libatomic/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libcc1/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

libffi/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgcobol/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libgfortran/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libgm2/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libm2cor/Makefile.in: Regenerate.
	* libm2iso/Makefile.in: Regenerate.
	* libm2log/Makefile.in: Regenerate.
	* libm2min/Makefile.in: Regenerate.
	* libm2pim/Makefile.in: Regenerate.

libgomp/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgrust/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libformat_parser/Makefile.in: Regenerate.
	* libproc_macro_internal/Makefile.in: Regenerate.

libitm/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/ChangeLog:

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

libphobos/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libquadmath/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libsanitizer/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* asan/Makefile.in: Regenerate.
	* configure: Regenerate.
	* hwasan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

libssp/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++20/Makefile.in: Regenerate.
	* src/c++23/Makefile.in: Regenerate.
	* src/c++26/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.
	* src/experimental/Makefile.in: Regenerate.
	* src/filesystem/Makefile.in: Regenerate.
	* src/libbacktrace/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libvtv/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
</pre>
</div>
</content>
</entry>
<entry>
<title>Daily bump.</title>
<updated>2024-10-26T00:19:39+00:00</updated>
<author>
<name>GCC Administrator</name>
<email>gccadmin@gcc.gnu.org</email>
</author>
<published>2024-10-26T00:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=c232f921615e385b8185fe6778a79469ae711672'/>
<id>c232f921615e385b8185fe6778a79469ae711672</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libffi: LoongArch: Fix soft-float builds of libffi</title>
<updated>2024-10-24T04:00:50+00:00</updated>
<author>
<name>Yang Yujie</name>
<email>yangyujie@loongson.cn</email>
</author>
<published>2024-01-27T07:09:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=a616b7e1db7319c587b9c65fe9548c59c67d1234'/>
<id>a616b7e1db7319c587b9c65fe9548c59c67d1234</id>
<content type='text'>
This patch correspond to the upstream PR:
https://github.com/libffi/libffi/pull/817
And has been merged.

libffi/ChangeLog:

	* src/loongarch64/ffi.c: Avoid defining floats
	in struct call_context if the ABI is soft-float.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch correspond to the upstream PR:
https://github.com/libffi/libffi/pull/817
And has been merged.

libffi/ChangeLog:

	* src/loongarch64/ffi.c: Avoid defining floats
	in struct call_context if the ABI is soft-float.
</pre>
</div>
</content>
</entry>
<entry>
<title>Daily bump.</title>
<updated>2024-10-19T00:19:43+00:00</updated>
<author>
<name>GCC Administrator</name>
<email>gccadmin@gcc.gnu.org</email>
</author>
<published>2024-10-19T00:19:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=de14559ef53b3a0e8c544bdc65f5983a184767b1'/>
<id>de14559ef53b3a0e8c544bdc65f5983a184767b1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>testsuite: Prepare for -std=gnu23 default</title>
<updated>2024-10-16T16:48:24+00:00</updated>
<author>
<name>Joseph Myers</name>
<email>josmyers@redhat.com</email>
</author>
<published>2024-10-16T16:46:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=9fb5348e3021021e82d75e4ca4e6f8d51a34c24f'/>
<id>9fb5348e3021021e82d75e4ca4e6f8d51a34c24f</id>
<content type='text'>
Now that C23 support is essentially feature-complete, I'd like to
switch the default language version for C compilation to -std=gnu23.

This requires updating a large number of testcases that fail with the
new language version if left unchanged.  In this patch, update most of
the tests for which there is a safe change that works both before and
after the update to default language version - typically adding the
option -std=gnu17 or -Wno-old-style-definition to the tests.  (There
are also a few tests where I'd like to investigate further why they
fail with -std=gnu23, or where I think such failures show an actual
bug to fix before changing the default language version, or where it
seems more appropriate to make a testcase change that would result in
failures in the absence of the language version change rather than
just adding an option that does nothing with the gnu17 default.)

The libffi test fixes have also been submitted upstream:
&lt;https://github.com/libffi/libffi/pull/861&gt;.

Most of the failures requiring such changes are for one of two
reasons:

* Unprototyped function declarations with () (meaning the same as
  (void) in C23 mode) for a function then called with arguments.

* Old-style function definitions, which warn by default in C23 mode,
  so resulting in test failures for the unexpected warnings.

Other reasons for failures include:

* Tests with their own definitions of bool, true and false.

* Tests of diagnostics (often with -pedantic) in cases where C23 has
  changed semantics, such as:

  - tag compatibility for structs;
  - enum values out of range of int;
  - handing of qualified array types;
  - decimal floating types formerly needing -pedantic diagnostics, but
    being standard in C23.

Bootstrapped with no regressions for x86_64-pc-linux-gnu.

gcc/testsuite/
	* c-c++-common/Wcast-function-type.c: Add -std=gnu17 for C.
	* c-c++-common/Wformat-pr84258.c: Add -std=gnu17 for C.
	* c-c++-common/Wvarargs.c: Add -std=gnu17 for C.
	* c-c++-common/analyzer/data-model-12.c: Add -std=gnu17 for C.
	* c-c++-common/builtins.c: Add -std=gnu17 for C.
	* c-c++-common/pointer-to-fn1.c: Add -std=gnu17 for C.
	* c-c++-common/pragma-diag-17.c: Add -std=gnu17 for C.
	* c-c++-common/sizeof-array-argument.c: Add
	-Wno-old-style-definition for C.
	* g++.dg/lto/pr54625-1_0.c: Add -std=gnu17.
	* g++.dg/lto/pr54625-2_0.c: Add -std=gnu17.
	* gcc.c-torture/compile/20040214-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/921011-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/931102-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/990801-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/nested-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr100241-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr106101.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr113616.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr47967.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr51694.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr71109.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr83051-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr89663-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr94238.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr96796.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr97576.c: Add -std=gnu17.
	* gcc.c-torture/compile/udivmod4.c: Add -std=gnu17.
	* gcc.c-torture/execute/20010605-2.c: Add -std=gnu17.
	* gcc.c-torture/execute/20020404-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20030714-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20051012-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20190820-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/920612-1.c: Add -Wno-old-style-definition.
	* gcc.c-torture/execute/930608-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/comp-goto-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-1.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-3.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-4.x: New file.
	* gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file.
	* gcc.c-torture/execute/ieee/fp-cmp-4l.x: New file.
	* gcc.c-torture/execute/loop-9.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr103209.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr28289.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr34982.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr67037.c: Add -std=gnu17.
	* gcc.c-torture/execute/va-arg-2.c: Add -std=gnu17.
	* gcc.dg/20010202-1.c: Add -std=gnu17.
	* gcc.dg/20020430-1.c: Add -std=gnu17.
	* gcc.dg/20031218-3.c: Add -std=gnu17.
	* gcc.dg/20040127-1.c: Add -std=gnu17.
	* gcc.dg/20041014-1.c: Add -Wno-old-style-definition.
	* gcc.dg/20041122-1.c: Add -std=gnu17.
	* gcc.dg/20050309-1.c: Add -std=gnu17.
	* gcc.dg/20061026.c: Add -std=gnu17.
	* gcc.dg/20101010-1.c: Add -std=gnu17.
	* gcc.dg/Warray-parameter-10.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-2.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-3.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-4.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-5.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch.c: Add -std=gnu17.
	* gcc.dg/Wcxx-compat-2.c: Add -std=gnu17.
	* gcc.dg/Wdouble-promotion.c: Add -std=gnu17.
	* gcc.dg/Wfree-nonheap-object-7.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-1.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-1a.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-2.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-3.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-4.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-4a.c: Add -std=gnu17.
	* gcc.dg/Wincompatible-pointer-types-1.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-19.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-4.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-5.c: Add -std=gnu17.
	* gcc.dg/Wstrict-overflow-20.c: Add -std=gnu17.
	* gcc.dg/Wstringop-overflow-13.c: Add -std=gnu17.
	* gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add -std=gnu17.
	* gcc.dg/analyzer/doom-s_sound-pr108867.c: Add -std=gnu17.
	* gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93355-localealias.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93375.c: Add -std=gnu17.
	* gcc.dg/analyzer/pr94688.c: Add -std=gnu17.
	* gcc.dg/analyzer/sensitive-1.c: Add -std=gnu17.
	* gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c:
	Add -std=gnu17.
	* gcc.dg/analyzer/torture/pr104863.c: Add -std=gnu17.
	* gcc.dg/analyzer/torture/pr93379.c: Add -std=gnu17.
	* gcc.dg/array-quals-2.c: Add -std=gnu17.
	* gcc.dg/attr-invalid.c: Add -Wno-old-style-definition.
	* gcc.dg/auto-init-uninit-A.c: Add -Wno-old-style-definition.
	* gcc.dg/builtin-choose-expr.c: Declare exit with (int) prototype.
	* gcc.dg/builtin-tgmath-err-1.c: Add -std=gnu17.
	* gcc.dg/builtins-30.c: Add -std=gnu17.
	* gcc.dg/cast-function-1.c: Add -std=gnu17.
	* gcc.dg/cleanup-1.c: Add -std=gnu17.
	* gcc.dg/compat/struct-complex-1_x.c: Add -std=gnu17.
	* gcc.dg/compat/struct-complex-2_x.c: Add -std=gnu17.
	* gcc.dg/compat/union-m128-1_x.c: Add -std=gnu17.
	* gcc.dg/debug/dwarf2/pr66482.c: Add -std=gnu17.
	* gcc.dg/dfp/composite-type-2.c: Add -std=gnu17.
	* gcc.dg/dfp/composite-type.c: Add -std=gnu17.
	* gcc.dg/dfp/keywords-pedantic.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-1.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-2.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-3.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-4.c: Add -std=gnu17.
	* gcc.dg/enum-compat-1.c: Add -std=gnu17.
	* gcc.dg/enum-compat-2.c: Add -std=gnu17.
	* gcc.dg/floatn-errs.c: Add -std=gnu17.
	* gcc.dg/fltconst-pedantic-dfp.c: Add -std=gnu17.
	* gcc.dg/format/proto.c: Add -std=gnu17.
	* gcc.dg/format/sentinel-1.c: Add -std=gnu17.
	* gcc.dg/gomp/declare-simd-1.c: Add -Wno-old-style-definition.
	* gcc.dg/ifelse-1.c: Add -Wno-old-style-definition.
	* gcc.dg/inline-33.c: Add -std=gnu17.
	* gcc.dg/ipa/inline-5.c: Add -std=gnu17.
	* gcc.dg/ipa/ipa-sra-21.c: Add -std=gnu17.
	* gcc.dg/ipa/pr102714.c: Add -std=gnu17.
	* gcc.dg/ipa/pr104813.c: Add -std=gnu17.
	* gcc.dg/ipa/pr108679.c: Add -std=gnu17.
	* gcc.dg/ipa/pr42706.c: Add -std=gnu17.
	* gcc.dg/ipa/pr88214.c: Add -Wno-old-style-definition.
	* gcc.dg/ipa/pr91853.c: Add -Wno-old-style-definition.
	* gcc.dg/ipa/pr93763.c: Add -std=gnu17.
	* gcc.dg/ipa/pr96482-2.c: Add -std=gnu17.
	* gcc.dg/lto/20091013-1_2.c: Add -std=gnu17.
	* gcc.dg/lto/20091015-1_2.c: Add -std=gnu17.
	* gcc.dg/lto/pr113197_1.c: Add -std=gnu17.
	* gcc.dg/lto/pr54702_1.c: Add -std=gnu17.
	* gcc.dg/lto/pr99849_0.c: Add -std=gnu17.
	* gcc.dg/noncompile/920923-1.c: Add -std=gnu17.
	* gcc.dg/noncompile/old-style-parm-1.c: Add
	-Wno-old-style-definition.
	* gcc.dg/noncompile/old-style-parm-3.c: Add
	-Wno-old-style-definition.
	* gcc.dg/noncompile/pr30552-2.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr30552-3.c: Add -std=gnu17.
	* gcc.dg/noncompile/pr71265.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr79758-2.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr79758.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/va-arg-1.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-1.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-2.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-3.c: Add -std=gnu17.
	* gcc.dg/old-style-then-proto-1.c: Add -std=gnu17.
	* gcc.dg/parm-incomplete-1.c: Add -std=gnu17.
	* gcc.dg/parm-mismatch-1.c: Add -std=gnu17.
	* gcc.dg/permerror-default.c: Add -std=gnu17.
	* gcc.dg/permerror-fpermissive-nowarning.c: Add -std=gnu17.
	* gcc.dg/permerror-fpermissive.c: Add -std=gnu17.
	* gcc.dg/permerror-noerror.c: Add -std=gnu17.
	* gcc.dg/permerror-nowarning.c: Add -std=gnu17.
	* gcc.dg/permerror-pedantic.c: Add -std=gnu17.
	* gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: Add -std=gnu17.
	* gcc.dg/pointer-array-quals-1.c: Add -std=gnu17.
	* gcc.dg/pointer-array-quals-2.c: Add -std=gnu17.
	* gcc.dg/pr100791.c: Add -std=gnu17.
	* gcc.dg/pr100843.c: Add -std=gnu17.
	* gcc.dg/pr102273.c: Add -std=gnu17.
	* gcc.dg/pr102385.c: Add -std=gnu17.
	* gcc.dg/pr103222.c: Add -std=gnu17.
	* gcc.dg/pr105140.c: Add -std=gnu17.
	* gcc.dg/pr105150.c: Add -std=gnu17.
	* gcc.dg/pr105250.c: Add -std=gnu17.
	* gcc.dg/pr105972.c: Add -Wno-old-style-definition.
	* gcc.dg/pr111039.c: Add -std=gnu17.
	* gcc.dg/pr111407.c: Add -std=gnu17.
	* gcc.dg/pr111922.c: Add -Wno-old-style-definition.
	* gcc.dg/pr15236.c: Add -std=gnu17.
	* gcc.dg/pr17188-1.c: Add -std=gnu17.
	* gcc.dg/pr20368-1.c: Add -std=gnu17.
	* gcc.dg/pr20368-2.c: Add -std=gnu17.
	* gcc.dg/pr20368-3.c: Add -std=gnu17.
	* gcc.dg/pr27331.c: Add -Wno-old-style-definition.
	* gcc.dg/pr27861-1.c: Add -std=gnu17.
	* gcc.dg/pr28121.c: Add -std=gnu17.
	* gcc.dg/pr28243.c: Add -std=gnu17.
	* gcc.dg/pr28888.c: Add -std=gnu17.
	* gcc.dg/pr29254.c: Add -std=gnu17.
	* gcc.dg/pr34457-1.c: Add -std=gnu17.
	* gcc.dg/pr36015.c: Add -std=gnu17.
	* gcc.dg/pr38245-3.c: Add -std=gnu17.
	* gcc.dg/pr38245-4.c: Add -std=gnu17.
	* gcc.dg/pr41241.c: Add -std=gnu17.
	* gcc.dg/pr43058.c: Add -std=gnu17.
	* gcc.dg/pr44539.c: Add -std=gnu17.
	* gcc.dg/pr45055.c: Add -std=gnu17.
	* gcc.dg/pr50908.c: Add -Wno-old-style-definition.
	* gcc.dg/pr60647-1.c: Add -Wno-old-style-definition.
	* gcc.dg/pr63762.c: Add -std=gnu17.
	* gcc.dg/pr63804.c: Add -std=gnu17.
	* gcc.dg/pr68306-3.c: Add -std=gnu17.
	* gcc.dg/pr68533.c: Add -std=gnu17.
	* gcc.dg/pr69156.c: Add -std=gnu17.
	* gcc.dg/pr7356-2.c: Add -Wno-old-style-definition.
	* gcc.dg/pr79983.c: Add -std=gnu17.
	* gcc.dg/pr83463.c: Add -std=gnu17.
	* gcc.dg/pr87347.c: Add -std=gnu17.
	* gcc.dg/pr89521-1.c: Add -std=gnu17.
	* gcc.dg/pr89521-2.c: Add -std=gnu17.
	* gcc.dg/pr90648.c: Add -std=gnu17.
	* gcc.dg/pr93573-1.c: Add -std=gnu17.
	* gcc.dg/pr94167.c: Add -std=gnu17.
	* gcc.dg/pr94705.c: Add -std=gnu17.
	* gcc.dg/pr95118.c: Add -std=gnu17.
	* gcc.dg/pr96335.c: Add -std=gnu17.
	* gcc.dg/pr97830.c: Add -std=gnu17.
	* gcc.dg/pr97882.c: Add -std=gnu17.
	* gcc.dg/pr99122-2.c: Add -std=gnu17.
	* gcc.dg/pr99122-3.c: Add -std=gnu17.
	* gcc.dg/qual-component-1.c: Add -std=gnu17.
	* gcc.dg/sibcall-6.c: Add -Wno-old-style-definition.
	* gcc.dg/sms-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tm/20091221.c: Add -std=gnu17.
	* gcc.dg/torture/bfloat16-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float128-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float128x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float16-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float32-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float32x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float64-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float64x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr102762.c: Add -std=gnu17.
	* gcc.dg/torture/pr103987.c: Add -std=gnu17.
	* gcc.dg/torture/pr104825.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr105166.c: Add -std=gnu17.
	* gcc.dg/torture/pr105185.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr109652.c: Add -std=gnu17.
	* gcc.dg/torture/pr112444.c: Add -std=gnu17.
	* gcc.dg/torture/pr113895-3.c: Add -std=gnu17.
	* gcc.dg/torture/pr24626-2.c: Add -std=gnu17.
	* gcc.dg/torture/pr25183.c: Add -std=gnu17.
	* gcc.dg/torture/pr38948.c: Add -std=gnu17.
	* gcc.dg/torture/pr44807.c: Add -std=gnu17.
	* gcc.dg/torture/pr47281.c: Add -std=gnu17.
	* gcc.dg/torture/pr47958-1.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr48063.c: Add -std=gnu17.
	* gcc.dg/torture/pr57036-1.c: Add -std=gnu17.
	* gcc.dg/torture/pr57330.c: Add -std=gnu17.
	* gcc.dg/torture/pr57584.c: Add -std=gnu17.
	* gcc.dg/torture/pr67741.c: Add -std=gnu17.
	* gcc.dg/torture/pr68104.c: Add -std=gnu17.
	* gcc.dg/torture/pr69242.c: Add -std=gnu17.
	* gcc.dg/torture/pr70457.c: Add -std=gnu17.
	* gcc.dg/torture/pr70985.c: Add -std=gnu17.
	* gcc.dg/torture/pr71606.c: Add -std=gnu17.
	* gcc.dg/torture/pr71816.c: Add -std=gnu17.
	* gcc.dg/torture/pr77286.c: Add -std=gnu17.
	* gcc.dg/torture/pr77646.c: Add -std=gnu17.
	* gcc.dg/torture/pr77677-2.c: Add -std=gnu17.
	* gcc.dg/torture/pr78365.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr79732.c: Add -std=gnu17.
	* gcc.dg/torture/pr80612.c: Add -std=gnu17.
	* gcc.dg/torture/pr80764.c: Add -std=gnu17.
	* gcc.dg/torture/pr80842.c: Add -std=gnu17.
	* gcc.dg/torture/pr81900.c: Add -std=gnu17.
	* gcc.dg/torture/pr82276.c: Add -std=gnu17.
	* gcc.dg/torture/pr84803.c: Add -std=gnu17.
	* gcc.dg/torture/pr93124.c: Add -std=gnu17.
	* gcc.dg/torture/pr97330-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-prof/comp-goto-1.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/20030703-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030708-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030709-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030709-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030710-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030714-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030714-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030728-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-10.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-11.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-6.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-7.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-4.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-5.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-6.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030918-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20040514-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/loadpre7.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/pr111003.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr115128.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr115191.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr24840.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr69666.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr70232.c: Add -std=gnu17.
	* gcc.dg/ubsan/pr79757-1.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr79757-2.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr79757-3.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr81223.c: Add -std=gnu17.
	* gcc.dg/uninit-10-O0.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-10.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-32.c: Add -std=gnu17.
	* gcc.dg/uninit-41.c: Add -std=gnu17.
	* gcc.dg/uninit-A-O0.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-A.c: Add -Wno-old-style-definition.
	* gcc.dg/unused-1.c: Add -Wno-old-style-definition.
	* gcc.dg/vect/bb-slp-pr114249.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-pr97486.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-1.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-2.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-3.c: Add -std=gnu17.
	* gcc.dg/vect/vect-early-break_111-pr113731.c: Add -std=gnu17.
	* gcc.dg/vect/vect-early-break_122-pr114239.c: Add -std=gnu17.
	* gcc.dg/vect/vect-multi-peel-gaps.c: Add -std=gnu17.
	* gcc.dg/vla-stexp-2.c: Add -std=gnu17.
	* gcc.dg/warn-1.c: Add -Wno-old-style-definition.
	* gcc.dg/winline-10.c: Add -Wno-old-style-definition.
	* gcc.dg/wtr-label-1.c: Add -Wno-old-style-definition.
	* gcc.dg/wtr-switch-1.c: Add -Wno-old-style-definition.
	* gcc.target/i386/excess-precision-3.c: Add
	-Wno-old-style-definition.
	* gcc.target/i386/fma4-256-nmsubXX.c: Add -std=gnu17.
	* gcc.target/i386/fma4-nmsubXX.c: Add -std=gnu17.
	* gcc.target/i386/nop-mcount.c: Add -Wno-old-style-definition.
	* gcc.target/i386/pr102627.c: Add -std=gnu17.
	* gcc.target/i386/pr106994.c: Add -std=gnu17.
	* gcc.target/i386/pr68349.c: Add -std=gnu17.
	* gcc.target/i386/pr97313.c: Add -std=gnu17.
	* gcc.target/i386/pr99454.c: Add -std=gnu17.
	* gcc.target/i386/record-mcount.c: Add -Wno-old-style-definition.

libffi/
	* testsuite/libffi.call/va_struct2.c (test_fn): Cast n to void.
	* testsuite/libffi.call/va_struct3.c (test_fn): Likewise.
	Backported from &lt;https://github.com/libffi/libffi/pull/861&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that C23 support is essentially feature-complete, I'd like to
switch the default language version for C compilation to -std=gnu23.

This requires updating a large number of testcases that fail with the
new language version if left unchanged.  In this patch, update most of
the tests for which there is a safe change that works both before and
after the update to default language version - typically adding the
option -std=gnu17 or -Wno-old-style-definition to the tests.  (There
are also a few tests where I'd like to investigate further why they
fail with -std=gnu23, or where I think such failures show an actual
bug to fix before changing the default language version, or where it
seems more appropriate to make a testcase change that would result in
failures in the absence of the language version change rather than
just adding an option that does nothing with the gnu17 default.)

The libffi test fixes have also been submitted upstream:
&lt;https://github.com/libffi/libffi/pull/861&gt;.

Most of the failures requiring such changes are for one of two
reasons:

* Unprototyped function declarations with () (meaning the same as
  (void) in C23 mode) for a function then called with arguments.

* Old-style function definitions, which warn by default in C23 mode,
  so resulting in test failures for the unexpected warnings.

Other reasons for failures include:

* Tests with their own definitions of bool, true and false.

* Tests of diagnostics (often with -pedantic) in cases where C23 has
  changed semantics, such as:

  - tag compatibility for structs;
  - enum values out of range of int;
  - handing of qualified array types;
  - decimal floating types formerly needing -pedantic diagnostics, but
    being standard in C23.

Bootstrapped with no regressions for x86_64-pc-linux-gnu.

gcc/testsuite/
	* c-c++-common/Wcast-function-type.c: Add -std=gnu17 for C.
	* c-c++-common/Wformat-pr84258.c: Add -std=gnu17 for C.
	* c-c++-common/Wvarargs.c: Add -std=gnu17 for C.
	* c-c++-common/analyzer/data-model-12.c: Add -std=gnu17 for C.
	* c-c++-common/builtins.c: Add -std=gnu17 for C.
	* c-c++-common/pointer-to-fn1.c: Add -std=gnu17 for C.
	* c-c++-common/pragma-diag-17.c: Add -std=gnu17 for C.
	* c-c++-common/sizeof-array-argument.c: Add
	-Wno-old-style-definition for C.
	* g++.dg/lto/pr54625-1_0.c: Add -std=gnu17.
	* g++.dg/lto/pr54625-2_0.c: Add -std=gnu17.
	* gcc.c-torture/compile/20040214-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/921011-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/931102-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/990801-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/nested-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr100241-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr106101.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr113616.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr47967.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr51694.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr71109.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr83051-2.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr89663-1.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr94238.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr96796.c: Add -std=gnu17.
	* gcc.c-torture/compile/pr97576.c: Add -std=gnu17.
	* gcc.c-torture/compile/udivmod4.c: Add -std=gnu17.
	* gcc.c-torture/execute/20010605-2.c: Add -std=gnu17.
	* gcc.c-torture/execute/20020404-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20030714-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20051012-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/20190820-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/920612-1.c: Add -Wno-old-style-definition.
	* gcc.c-torture/execute/930608-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/comp-goto-1.c: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-1.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-3.x: Add -std=gnu17.
	* gcc.c-torture/execute/ieee/fp-cmp-4.x: New file.
	* gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file.
	* gcc.c-torture/execute/ieee/fp-cmp-4l.x: New file.
	* gcc.c-torture/execute/loop-9.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr103209.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr28289.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr34982.c: Add -std=gnu17.
	* gcc.c-torture/execute/pr67037.c: Add -std=gnu17.
	* gcc.c-torture/execute/va-arg-2.c: Add -std=gnu17.
	* gcc.dg/20010202-1.c: Add -std=gnu17.
	* gcc.dg/20020430-1.c: Add -std=gnu17.
	* gcc.dg/20031218-3.c: Add -std=gnu17.
	* gcc.dg/20040127-1.c: Add -std=gnu17.
	* gcc.dg/20041014-1.c: Add -Wno-old-style-definition.
	* gcc.dg/20041122-1.c: Add -std=gnu17.
	* gcc.dg/20050309-1.c: Add -std=gnu17.
	* gcc.dg/20061026.c: Add -std=gnu17.
	* gcc.dg/20101010-1.c: Add -std=gnu17.
	* gcc.dg/Warray-parameter-10.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-2.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-3.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-4.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch-5.c: Add -std=gnu17.
	* gcc.dg/Wbuiltin-declaration-mismatch.c: Add -std=gnu17.
	* gcc.dg/Wcxx-compat-2.c: Add -std=gnu17.
	* gcc.dg/Wdouble-promotion.c: Add -std=gnu17.
	* gcc.dg/Wfree-nonheap-object-7.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-1.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-1a.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-2.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-3.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-4.c: Add -std=gnu17.
	* gcc.dg/Wimplicit-int-4a.c: Add -std=gnu17.
	* gcc.dg/Wincompatible-pointer-types-1.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-19.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-4.c: Add -std=gnu17.
	* gcc.dg/Wrestrict-5.c: Add -std=gnu17.
	* gcc.dg/Wstrict-overflow-20.c: Add -std=gnu17.
	* gcc.dg/Wstringop-overflow-13.c: Add -std=gnu17.
	* gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add -std=gnu17.
	* gcc.dg/analyzer/doom-s_sound-pr108867.c: Add -std=gnu17.
	* gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93355-localealias.c: Add
	-Wno-old-style-definition.
	* gcc.dg/analyzer/pr93375.c: Add -std=gnu17.
	* gcc.dg/analyzer/pr94688.c: Add -std=gnu17.
	* gcc.dg/analyzer/sensitive-1.c: Add -std=gnu17.
	* gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c:
	Add -std=gnu17.
	* gcc.dg/analyzer/torture/pr104863.c: Add -std=gnu17.
	* gcc.dg/analyzer/torture/pr93379.c: Add -std=gnu17.
	* gcc.dg/array-quals-2.c: Add -std=gnu17.
	* gcc.dg/attr-invalid.c: Add -Wno-old-style-definition.
	* gcc.dg/auto-init-uninit-A.c: Add -Wno-old-style-definition.
	* gcc.dg/builtin-choose-expr.c: Declare exit with (int) prototype.
	* gcc.dg/builtin-tgmath-err-1.c: Add -std=gnu17.
	* gcc.dg/builtins-30.c: Add -std=gnu17.
	* gcc.dg/cast-function-1.c: Add -std=gnu17.
	* gcc.dg/cleanup-1.c: Add -std=gnu17.
	* gcc.dg/compat/struct-complex-1_x.c: Add -std=gnu17.
	* gcc.dg/compat/struct-complex-2_x.c: Add -std=gnu17.
	* gcc.dg/compat/union-m128-1_x.c: Add -std=gnu17.
	* gcc.dg/debug/dwarf2/pr66482.c: Add -std=gnu17.
	* gcc.dg/dfp/composite-type-2.c: Add -std=gnu17.
	* gcc.dg/dfp/composite-type.c: Add -std=gnu17.
	* gcc.dg/dfp/keywords-pedantic.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-1.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-2.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-3.c: Add -std=gnu17.
	* gcc.dg/dremf-type-compat-4.c: Add -std=gnu17.
	* gcc.dg/enum-compat-1.c: Add -std=gnu17.
	* gcc.dg/enum-compat-2.c: Add -std=gnu17.
	* gcc.dg/floatn-errs.c: Add -std=gnu17.
	* gcc.dg/fltconst-pedantic-dfp.c: Add -std=gnu17.
	* gcc.dg/format/proto.c: Add -std=gnu17.
	* gcc.dg/format/sentinel-1.c: Add -std=gnu17.
	* gcc.dg/gomp/declare-simd-1.c: Add -Wno-old-style-definition.
	* gcc.dg/ifelse-1.c: Add -Wno-old-style-definition.
	* gcc.dg/inline-33.c: Add -std=gnu17.
	* gcc.dg/ipa/inline-5.c: Add -std=gnu17.
	* gcc.dg/ipa/ipa-sra-21.c: Add -std=gnu17.
	* gcc.dg/ipa/pr102714.c: Add -std=gnu17.
	* gcc.dg/ipa/pr104813.c: Add -std=gnu17.
	* gcc.dg/ipa/pr108679.c: Add -std=gnu17.
	* gcc.dg/ipa/pr42706.c: Add -std=gnu17.
	* gcc.dg/ipa/pr88214.c: Add -Wno-old-style-definition.
	* gcc.dg/ipa/pr91853.c: Add -Wno-old-style-definition.
	* gcc.dg/ipa/pr93763.c: Add -std=gnu17.
	* gcc.dg/ipa/pr96482-2.c: Add -std=gnu17.
	* gcc.dg/lto/20091013-1_2.c: Add -std=gnu17.
	* gcc.dg/lto/20091015-1_2.c: Add -std=gnu17.
	* gcc.dg/lto/pr113197_1.c: Add -std=gnu17.
	* gcc.dg/lto/pr54702_1.c: Add -std=gnu17.
	* gcc.dg/lto/pr99849_0.c: Add -std=gnu17.
	* gcc.dg/noncompile/920923-1.c: Add -std=gnu17.
	* gcc.dg/noncompile/old-style-parm-1.c: Add
	-Wno-old-style-definition.
	* gcc.dg/noncompile/old-style-parm-3.c: Add
	-Wno-old-style-definition.
	* gcc.dg/noncompile/pr30552-2.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr30552-3.c: Add -std=gnu17.
	* gcc.dg/noncompile/pr71265.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr79758-2.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/pr79758.c: Add -Wno-old-style-definition.
	* gcc.dg/noncompile/va-arg-1.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-1.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-2.c: Add -std=gnu17.
	* gcc.dg/old-style-prom-3.c: Add -std=gnu17.
	* gcc.dg/old-style-then-proto-1.c: Add -std=gnu17.
	* gcc.dg/parm-incomplete-1.c: Add -std=gnu17.
	* gcc.dg/parm-mismatch-1.c: Add -std=gnu17.
	* gcc.dg/permerror-default.c: Add -std=gnu17.
	* gcc.dg/permerror-fpermissive-nowarning.c: Add -std=gnu17.
	* gcc.dg/permerror-fpermissive.c: Add -std=gnu17.
	* gcc.dg/permerror-noerror.c: Add -std=gnu17.
	* gcc.dg/permerror-nowarning.c: Add -std=gnu17.
	* gcc.dg/permerror-pedantic.c: Add -std=gnu17.
	* gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: Add -std=gnu17.
	* gcc.dg/pointer-array-quals-1.c: Add -std=gnu17.
	* gcc.dg/pointer-array-quals-2.c: Add -std=gnu17.
	* gcc.dg/pr100791.c: Add -std=gnu17.
	* gcc.dg/pr100843.c: Add -std=gnu17.
	* gcc.dg/pr102273.c: Add -std=gnu17.
	* gcc.dg/pr102385.c: Add -std=gnu17.
	* gcc.dg/pr103222.c: Add -std=gnu17.
	* gcc.dg/pr105140.c: Add -std=gnu17.
	* gcc.dg/pr105150.c: Add -std=gnu17.
	* gcc.dg/pr105250.c: Add -std=gnu17.
	* gcc.dg/pr105972.c: Add -Wno-old-style-definition.
	* gcc.dg/pr111039.c: Add -std=gnu17.
	* gcc.dg/pr111407.c: Add -std=gnu17.
	* gcc.dg/pr111922.c: Add -Wno-old-style-definition.
	* gcc.dg/pr15236.c: Add -std=gnu17.
	* gcc.dg/pr17188-1.c: Add -std=gnu17.
	* gcc.dg/pr20368-1.c: Add -std=gnu17.
	* gcc.dg/pr20368-2.c: Add -std=gnu17.
	* gcc.dg/pr20368-3.c: Add -std=gnu17.
	* gcc.dg/pr27331.c: Add -Wno-old-style-definition.
	* gcc.dg/pr27861-1.c: Add -std=gnu17.
	* gcc.dg/pr28121.c: Add -std=gnu17.
	* gcc.dg/pr28243.c: Add -std=gnu17.
	* gcc.dg/pr28888.c: Add -std=gnu17.
	* gcc.dg/pr29254.c: Add -std=gnu17.
	* gcc.dg/pr34457-1.c: Add -std=gnu17.
	* gcc.dg/pr36015.c: Add -std=gnu17.
	* gcc.dg/pr38245-3.c: Add -std=gnu17.
	* gcc.dg/pr38245-4.c: Add -std=gnu17.
	* gcc.dg/pr41241.c: Add -std=gnu17.
	* gcc.dg/pr43058.c: Add -std=gnu17.
	* gcc.dg/pr44539.c: Add -std=gnu17.
	* gcc.dg/pr45055.c: Add -std=gnu17.
	* gcc.dg/pr50908.c: Add -Wno-old-style-definition.
	* gcc.dg/pr60647-1.c: Add -Wno-old-style-definition.
	* gcc.dg/pr63762.c: Add -std=gnu17.
	* gcc.dg/pr63804.c: Add -std=gnu17.
	* gcc.dg/pr68306-3.c: Add -std=gnu17.
	* gcc.dg/pr68533.c: Add -std=gnu17.
	* gcc.dg/pr69156.c: Add -std=gnu17.
	* gcc.dg/pr7356-2.c: Add -Wno-old-style-definition.
	* gcc.dg/pr79983.c: Add -std=gnu17.
	* gcc.dg/pr83463.c: Add -std=gnu17.
	* gcc.dg/pr87347.c: Add -std=gnu17.
	* gcc.dg/pr89521-1.c: Add -std=gnu17.
	* gcc.dg/pr89521-2.c: Add -std=gnu17.
	* gcc.dg/pr90648.c: Add -std=gnu17.
	* gcc.dg/pr93573-1.c: Add -std=gnu17.
	* gcc.dg/pr94167.c: Add -std=gnu17.
	* gcc.dg/pr94705.c: Add -std=gnu17.
	* gcc.dg/pr95118.c: Add -std=gnu17.
	* gcc.dg/pr96335.c: Add -std=gnu17.
	* gcc.dg/pr97830.c: Add -std=gnu17.
	* gcc.dg/pr97882.c: Add -std=gnu17.
	* gcc.dg/pr99122-2.c: Add -std=gnu17.
	* gcc.dg/pr99122-3.c: Add -std=gnu17.
	* gcc.dg/qual-component-1.c: Add -std=gnu17.
	* gcc.dg/sibcall-6.c: Add -Wno-old-style-definition.
	* gcc.dg/sms-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tm/20091221.c: Add -std=gnu17.
	* gcc.dg/torture/bfloat16-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float128-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float128x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float16-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float32-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float32x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float64-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/float64x-basic.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr102762.c: Add -std=gnu17.
	* gcc.dg/torture/pr103987.c: Add -std=gnu17.
	* gcc.dg/torture/pr104825.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr105166.c: Add -std=gnu17.
	* gcc.dg/torture/pr105185.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr109652.c: Add -std=gnu17.
	* gcc.dg/torture/pr112444.c: Add -std=gnu17.
	* gcc.dg/torture/pr113895-3.c: Add -std=gnu17.
	* gcc.dg/torture/pr24626-2.c: Add -std=gnu17.
	* gcc.dg/torture/pr25183.c: Add -std=gnu17.
	* gcc.dg/torture/pr38948.c: Add -std=gnu17.
	* gcc.dg/torture/pr44807.c: Add -std=gnu17.
	* gcc.dg/torture/pr47281.c: Add -std=gnu17.
	* gcc.dg/torture/pr47958-1.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr48063.c: Add -std=gnu17.
	* gcc.dg/torture/pr57036-1.c: Add -std=gnu17.
	* gcc.dg/torture/pr57330.c: Add -std=gnu17.
	* gcc.dg/torture/pr57584.c: Add -std=gnu17.
	* gcc.dg/torture/pr67741.c: Add -std=gnu17.
	* gcc.dg/torture/pr68104.c: Add -std=gnu17.
	* gcc.dg/torture/pr69242.c: Add -std=gnu17.
	* gcc.dg/torture/pr70457.c: Add -std=gnu17.
	* gcc.dg/torture/pr70985.c: Add -std=gnu17.
	* gcc.dg/torture/pr71606.c: Add -std=gnu17.
	* gcc.dg/torture/pr71816.c: Add -std=gnu17.
	* gcc.dg/torture/pr77286.c: Add -std=gnu17.
	* gcc.dg/torture/pr77646.c: Add -std=gnu17.
	* gcc.dg/torture/pr77677-2.c: Add -std=gnu17.
	* gcc.dg/torture/pr78365.c: Add -Wno-old-style-definition.
	* gcc.dg/torture/pr79732.c: Add -std=gnu17.
	* gcc.dg/torture/pr80612.c: Add -std=gnu17.
	* gcc.dg/torture/pr80764.c: Add -std=gnu17.
	* gcc.dg/torture/pr80842.c: Add -std=gnu17.
	* gcc.dg/torture/pr81900.c: Add -std=gnu17.
	* gcc.dg/torture/pr82276.c: Add -std=gnu17.
	* gcc.dg/torture/pr84803.c: Add -std=gnu17.
	* gcc.dg/torture/pr93124.c: Add -std=gnu17.
	* gcc.dg/torture/pr97330-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-prof/comp-goto-1.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/20030703-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030708-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030709-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030709-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030710-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030711-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030714-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030714-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030728-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-10.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-11.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-3.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-6.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030807-7.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-4.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-5.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030814-6.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20030918-1.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/20040514-2.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/loadpre7.c: Add -Wno-old-style-definition.
	* gcc.dg/tree-ssa/pr111003.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr115128.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr115191.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr24840.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr69666.c: Add -std=gnu17.
	* gcc.dg/tree-ssa/pr70232.c: Add -std=gnu17.
	* gcc.dg/ubsan/pr79757-1.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr79757-2.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr79757-3.c: Add -Wno-old-style-definition.
	* gcc.dg/ubsan/pr81223.c: Add -std=gnu17.
	* gcc.dg/uninit-10-O0.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-10.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-32.c: Add -std=gnu17.
	* gcc.dg/uninit-41.c: Add -std=gnu17.
	* gcc.dg/uninit-A-O0.c: Add -Wno-old-style-definition.
	* gcc.dg/uninit-A.c: Add -Wno-old-style-definition.
	* gcc.dg/unused-1.c: Add -Wno-old-style-definition.
	* gcc.dg/vect/bb-slp-pr114249.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-pr97486.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-1.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-2.c: Add -std=gnu17.
	* gcc.dg/vect/bb-slp-subgroups-3.c: Add -std=gnu17.
	* gcc.dg/vect/vect-early-break_111-pr113731.c: Add -std=gnu17.
	* gcc.dg/vect/vect-early-break_122-pr114239.c: Add -std=gnu17.
	* gcc.dg/vect/vect-multi-peel-gaps.c: Add -std=gnu17.
	* gcc.dg/vla-stexp-2.c: Add -std=gnu17.
	* gcc.dg/warn-1.c: Add -Wno-old-style-definition.
	* gcc.dg/winline-10.c: Add -Wno-old-style-definition.
	* gcc.dg/wtr-label-1.c: Add -Wno-old-style-definition.
	* gcc.dg/wtr-switch-1.c: Add -Wno-old-style-definition.
	* gcc.target/i386/excess-precision-3.c: Add
	-Wno-old-style-definition.
	* gcc.target/i386/fma4-256-nmsubXX.c: Add -std=gnu17.
	* gcc.target/i386/fma4-nmsubXX.c: Add -std=gnu17.
	* gcc.target/i386/nop-mcount.c: Add -Wno-old-style-definition.
	* gcc.target/i386/pr102627.c: Add -std=gnu17.
	* gcc.target/i386/pr106994.c: Add -std=gnu17.
	* gcc.target/i386/pr68349.c: Add -std=gnu17.
	* gcc.target/i386/pr97313.c: Add -std=gnu17.
	* gcc.target/i386/pr99454.c: Add -std=gnu17.
	* gcc.target/i386/record-mcount.c: Add -Wno-old-style-definition.

libffi/
	* testsuite/libffi.call/va_struct2.c (test_fn): Cast n to void.
	* testsuite/libffi.call/va_struct3.c (test_fn): Likewise.
	Backported from &lt;https://github.com/libffi/libffi/pull/861&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>Daily bump.</title>
<updated>2024-09-24T00:18:14+00:00</updated>
<author>
<name>GCC Administrator</name>
<email>gccadmin@gcc.gnu.org</email>
</author>
<published>2024-09-24T00:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=4d6fa5b7f14b1d4aeb040db51b33c24456d94699'/>
<id>4d6fa5b7f14b1d4aeb040db51b33c24456d94699</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>dwarf2: add hooks for architecture-specific CFIs</title>
<updated>2024-09-23T14:37:05+00:00</updated>
<author>
<name>Matthieu Longo</name>
<email>matthieu.longo@arm.com</email>
</author>
<published>2024-09-23T14:34:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=9e1c71bab50d51a1a8ec1a75080ffde6ca3d854c'/>
<id>9e1c71bab50d51a1a8ec1a75080ffde6ca3d854c</id>
<content type='text'>
Architecture-specific CFI directives are currently declared an processed
among others architecture-independent CFI directives in gcc/dwarf2* files.
This approach creates confusion, specifically in the case of DWARF
instructions in the vendor space and using the same instruction code.

Such a clash currently happen between DW_CFA_GNU_window_save (used on
SPARC) and DW_CFA_AARCH64_negate_ra_state (used on AArch64), and both
having the same instruction code 0x2d.
Then AArch64 compilers generates a SPARC CFI directive (.cfi_window_save)
instead of .cfi_negate_ra_state, contrarilly to what is expected in
[DWARF for the Arm 64-bit Architecture (AArch64)](https://github.com/
ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst).

This refactoring does not solve completely the problem, but improve the
situation by moving some of the processing of those directives (more
specifically their output in the assembly) to the backend via 2 target
hooks:
- DW_CFI_OPRND1_DESC: parse the first operand of the directive (if any).
- OUTPUT_CFI_DIRECTIVE: output the CFI directive as a string.

Additionally, this patch also contains a renaming of an enum used for
return address mangling on AArch64.

gcc/ChangeLog:

	* config/aarch64/aarch64.cc
	(aarch64_output_cfi_directive): New hook for CFI directives.
	(aarch64_dw_cfi_oprnd1_desc): Same.
	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
	* config/sparc/sparc.cc
	(sparc_output_cfi_directive): New hook for CFI directives.
	(sparc_dw_cfi_oprnd1_desc): Same.
	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
	* coretypes.h
	(struct dw_cfi_node): Forward declaration of CFI type from
	gcc/dwarf2out.h.
	(enum dw_cfi_oprnd_type): Same.
	(enum dwarf_call_frame_info): Same.
	* doc/tm.texi: Regenerated from doc/tm.texi.in.
	* doc/tm.texi.in: Add doc for new target hooks.
	type of enum to allow forward declaration.
	* dwarf2cfi.cc
	(struct dw_cfi_row): Update the description for window_save
	and ra_mangled.
	(dwarf2out_frame_debug_cfa_negate_ra_state): Use AArch64 CFI
	directive instead of the SPARC one.
	(change_cfi_row): Use the right CFI directive's name for RA
	mangling.
	(output_cfi): Remove explicit architecture-specific CFI
	directive DW_CFA_GNU_window_save that falls into default case.
	(output_cfi_directive): Use target hook as default.
	* dwarf2out.cc (dw_cfi_oprnd1_desc): Use target hook as default.
	* dwarf2out.h (enum dw_cfi_oprnd_type): specify underlying type
	of enum to allow forward declaration.
	(dw_cfi_oprnd1_desc): Call target hook.
	(output_cfi_directive): Use dw_cfi_ref instead of struct
	dw_cfi_node *.
	* hooks.cc
	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
	(hook_bool_FILEptr_dwcfiptr_false): New.
	* hooks.h
	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
	(hook_bool_FILEptr_dwcfiptr_false): New.
	* target.def: Documentation for new hooks.

include/ChangeLog:

	* dwarf2.h (enum dwarf_call_frame_info): specify underlying

libffi/ChangeLog:

	* include/ffi_cfi.h (cfi_negate_ra_state): Declare AArch64 cfi
	directive.

libgcc/ChangeLog:

	* config/aarch64/aarch64-asm.h (PACIASP): Replace SPARC CFI
	directive by AArch64 one.
	(AUTIASP): Same.

libitm/ChangeLog:

	* config/aarch64/sjlj.S: Replace SPARC CFI directive by
	AArch64 one.

gcc/testsuite/ChangeLog:

	* g++.target/aarch64/pr94515-1.C: Replace SPARC CFI directive by
	AArch64 one.
	* g++.target/aarch64/pr94515-2.C: Same.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Architecture-specific CFI directives are currently declared an processed
among others architecture-independent CFI directives in gcc/dwarf2* files.
This approach creates confusion, specifically in the case of DWARF
instructions in the vendor space and using the same instruction code.

Such a clash currently happen between DW_CFA_GNU_window_save (used on
SPARC) and DW_CFA_AARCH64_negate_ra_state (used on AArch64), and both
having the same instruction code 0x2d.
Then AArch64 compilers generates a SPARC CFI directive (.cfi_window_save)
instead of .cfi_negate_ra_state, contrarilly to what is expected in
[DWARF for the Arm 64-bit Architecture (AArch64)](https://github.com/
ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst).

This refactoring does not solve completely the problem, but improve the
situation by moving some of the processing of those directives (more
specifically their output in the assembly) to the backend via 2 target
hooks:
- DW_CFI_OPRND1_DESC: parse the first operand of the directive (if any).
- OUTPUT_CFI_DIRECTIVE: output the CFI directive as a string.

Additionally, this patch also contains a renaming of an enum used for
return address mangling on AArch64.

gcc/ChangeLog:

	* config/aarch64/aarch64.cc
	(aarch64_output_cfi_directive): New hook for CFI directives.
	(aarch64_dw_cfi_oprnd1_desc): Same.
	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
	* config/sparc/sparc.cc
	(sparc_output_cfi_directive): New hook for CFI directives.
	(sparc_dw_cfi_oprnd1_desc): Same.
	(TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive.
	(TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc.
	* coretypes.h
	(struct dw_cfi_node): Forward declaration of CFI type from
	gcc/dwarf2out.h.
	(enum dw_cfi_oprnd_type): Same.
	(enum dwarf_call_frame_info): Same.
	* doc/tm.texi: Regenerated from doc/tm.texi.in.
	* doc/tm.texi.in: Add doc for new target hooks.
	type of enum to allow forward declaration.
	* dwarf2cfi.cc
	(struct dw_cfi_row): Update the description for window_save
	and ra_mangled.
	(dwarf2out_frame_debug_cfa_negate_ra_state): Use AArch64 CFI
	directive instead of the SPARC one.
	(change_cfi_row): Use the right CFI directive's name for RA
	mangling.
	(output_cfi): Remove explicit architecture-specific CFI
	directive DW_CFA_GNU_window_save that falls into default case.
	(output_cfi_directive): Use target hook as default.
	* dwarf2out.cc (dw_cfi_oprnd1_desc): Use target hook as default.
	* dwarf2out.h (enum dw_cfi_oprnd_type): specify underlying type
	of enum to allow forward declaration.
	(dw_cfi_oprnd1_desc): Call target hook.
	(output_cfi_directive): Use dw_cfi_ref instead of struct
	dw_cfi_node *.
	* hooks.cc
	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
	(hook_bool_FILEptr_dwcfiptr_false): New.
	* hooks.h
	(hook_bool_dwcfi_dwcfioprndtyperef_false): New.
	(hook_bool_FILEptr_dwcfiptr_false): New.
	* target.def: Documentation for new hooks.

include/ChangeLog:

	* dwarf2.h (enum dwarf_call_frame_info): specify underlying

libffi/ChangeLog:

	* include/ffi_cfi.h (cfi_negate_ra_state): Declare AArch64 cfi
	directive.

libgcc/ChangeLog:

	* config/aarch64/aarch64-asm.h (PACIASP): Replace SPARC CFI
	directive by AArch64 one.
	(AUTIASP): Same.

libitm/ChangeLog:

	* config/aarch64/sjlj.S: Replace SPARC CFI directive by
	AArch64 one.

gcc/testsuite/ChangeLog:

	* g++.target/aarch64/pr94515-1.C: Replace SPARC CFI directive by
	AArch64 one.
	* g++.target/aarch64/pr94515-2.C: Same.
</pre>
</div>
</content>
</entry>
</feed>
