Files
gcc/libstdc++-v3
Jonathan Wakely e2692b9ea7 libstdc++: Define config macros for additional IEEE formats
Some targets use IEEE binary64 for both double and long double, which
means we could use memmove to optimize a std::copy from a range of
double to a range of long double. We currently have no config macro to
detect when long double is binary64, so add that to <bits/c++config.h>.

This also adds config macros for the case where double and long double
both use the same binary32 format as float, which is true for the avr
target. No specializations of __memcpyable for that case are added by
this patch, but they could be added later.

libstdc++-v3/ChangeLog:

	* include/bits/c++config (_GLIBCXX_DOUBLE_IS_IEEE_BINARY32):
	Define.
	(_GLIBCXX_LDOUBLE_IS_IEEE_BINARY64): Define.
	(_GLIBCXX_LDOUBLE_IS_IEEE_BINARY32): Define.
	* include/bits/cpp_type_traits.h (__memcpyable): Define
	specializations when double and long double are compatible.

Reviewed-by: Patrick Palka <ppalka@redhat.com>
2024-10-30 12:17:11 +00:00
..
2024-10-30 00:19:35 +00:00

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.