GCC modified for the FreeChainXenon project
Find a file
Jonathan Wakely 260a22de4f libstdc++: Replace padding bits with bit-fields in __format::_Spec
This ensures that the unused bits will be zero-initialized reliably, and
so can be used later by assigning them values in formatter
specializations. For example, formatters for std::chrono will need to
use an extra bit for a boolean flag to optimize the conversions between
locale encodings and UTF-8.

Adding the 16-bit _M_reserved2 bit-field results in an increased size
for targets that use 1- or 2-byte alignment for all integral types, e.g.
cris-elf or m68k.  Placing that member before the _M_width member
adjusts the layout for all targets, but keeps all the bit-fields
together. We can't make that change once C++20 support is ABI stable and
non-experimental, so do it now before GCC 14 is released. The _M_fill
data member already change from char to char32_t in
r14-6991-g37a4c5c23a270c so _Spec is already incompatible with gcc-13
anyway.

libstdc++-v3/ChangeLog:

	* include/std/format (__format::_Spec::_M_reserved): Define new
	bit-field members to reserve padding bits for future extensions.
2024-02-04 21:42:55 +00:00
.github
c++tools
config
contrib libstdc++: Add copyright and license text to new generated headers 2024-02-04 21:40:23 +00:00
fixincludes
gcc xtensa: Fix missing mode warning in "*eqne_zero_masked_bits" 2024-02-04 13:25:10 -08:00
gnattools
gotools
include
INSTALL
libada
libatomic Daily bump. 2024-02-04 00:16:59 +00:00
libbacktrace
libcc1
libcody
libcpp
libdecnumber
libffi
libgcc Daily bump. 2024-02-03 00:18:26 +00:00
libgfortran Daily bump. 2024-02-04 00:16:59 +00:00
libgm2
libgo libgo: better error messages for unknown GOARCH/GOOS 2024-02-02 15:10:02 -08:00
libgomp
libgrust
libiberty
libitm
libobjc
libphobos libphobos: Merge upstream phobos 37796e783 2024-02-04 01:48:49 +01:00
libquadmath
libsanitizer
libssp
libstdc++-v3 libstdc++: Replace padding bits with bit-fields in __format::_Spec 2024-02-04 21:42:55 +00:00
libvtv
lto-plugin
maintainer-scripts
zlib
.dir-locals.el
.gitattributes
.gitignore
ABOUT-NLS
ar-lib
ChangeLog Daily bump. 2024-02-04 00:16:59 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: Update my e-mail address 2024-02-03 14:07:02 +00:00
Makefile.def
Makefile.in
Makefile.tpl
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
SECURITY.txt
symlink-tree
test-driver
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.