Re: [IRA] Code bloat due to register spills in v9, v10, v11, v12 and master

2022-12-10 Thread Georg-Johann Lay
Am 09.12.22 um 22:14 schrieb Vladimir Makarov: On 2022-12-09 14:23, Georg-Johann Lay wrote: There is the following code size regression, filed as https://gcc.gnu.org/PR90706 I am sorry, I feel your frustration. I was not aware of this PR. Unfortunately, the PR was marked as P4 and I hav

Re: [IRA] Code bloat due to register spills in v9, v10, v11, v12 and master

2022-12-10 Thread Richard Biener via Gcc
> Am 10.12.2022 um 13:15 schrieb Georg-Johann Lay : > >  > >> Am 09.12.22 um 22:14 schrieb Vladimir Makarov: >>> On 2022-12-09 14:23, Georg-Johann Lay wrote: >>> There is the following code size regression, filed as >>> >>> https://gcc.gnu.org/PR90706 >>> >> I am sorry, I feel your frustrat

Bug with GCC's handling of lifetimes of implicit-lifetime types

2022-12-10 Thread Gavin Ray via Gcc
This came up when I was asking around about what the proper way was to: - Allocate aligned storage for a buffer pool/page cache - Then create pointers to "Page" structs inside of the storage memory area I thought something like this might do: struct buffer_pool { alignas(PAGE_SIZE) std::byte s

Re: Bug with GCC's handling of lifetimes of implicit-lifetime types

2022-12-10 Thread Jonathan Wakely via Gcc
On Sat, 10 Dec 2022 at 17:42, Gavin Ray via Gcc wrote: > > This came up when I was asking around about what the proper way was to: > > - Allocate aligned storage for a buffer pool/page cache > - Then create pointers to "Page" structs inside of the storage memory area > > I thought something like t

Re: Bug with GCC's handling of lifetimes of implicit-lifetime types

2022-12-10 Thread Andrew Pinski via Gcc
On Sat, Dec 10, 2022 at 10:36 AM Jonathan Wakely via Gcc wrote: > > On Sat, 10 Dec 2022 at 17:42, Gavin Ray via Gcc wrote: > > > > This came up when I was asking around about what the proper way was to: > > > > - Allocate aligned storage for a buffer pool/page cache > > - Then create pointers to

Re: Bug with GCC's handling of lifetimes of implicit-lifetime types

2022-12-10 Thread Gavin Ray via Gcc
Ahh alright, thanks Jonathan & Andrew, appreciate the replies @Jonathan > ... "Without a proper implementation of start_lifetime_as (which GCC doesn't provide yet)" I mailed the author of that proposal yesterday after learning about it (it's very useful!) and they told me as much Had written them

[PATCH v4 1/3] libcpp: reject codepoints above 0x10FFFF

2022-12-10 Thread Ben Boeckel via Gcc
Unicode does not support such values because they are unrepresentable in UTF-16. libcpp/ * charset.cc: Reject encodings of codepoints above 0x10. UTF-16 does not support such codepoints and therefore all Unicode rejects such values. Signed-off-by: Ben Boeckel --- li

[PATCH v4 0/3] RFC: P1689R5 support

2022-12-10 Thread Ben Boeckel via Gcc
Hi, This patch adds initial support for ISO C++'s [P1689R5][], a format for describing C++ module requirements and provisions based on the source code. This is required because compiling C++ with modules is not embarrassingly parallel and need to be ordered to ensure that `import some_module;` can

[PATCH v4 2/3] libcpp: add a function to determine UTF-8 validity of a C string

2022-12-10 Thread Ben Boeckel via Gcc
This simplifies the interface for other UTF-8 validity detections when a simple "yes" or "no" answer is sufficient. libcpp/ * charset.cc: Add `_cpp_valid_utf8_str` which determines whether a C string is valid UTF-8 or not. * internal.h: Add prototype for `_cpp_valid_utf8_s

[PATCH v4 3/3] p1689r5: initial support

2022-12-10 Thread Ben Boeckel via Gcc
This patch implements support for [P1689R5][] to communicate to a build system the C++20 module dependencies to build systems so that they may build `.gcm` files in the proper order. Support is communicated through the following three new flags: - `-fdeps-format=` specifies the format for the out

gcc-12-20221210 is now available

2022-12-10 Thread GCC Administrator via Gcc
Snapshot gcc-12-20221210 is now available on https://gcc.gnu.org/pub/gcc/snapshots/12-20221210/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 12 git branch with the following options: git://gcc.gnu.org/git/gcc.git branch