builtins.c:
Allow MD backend to prevent the optimization of a bcopy() or memmove() of
size 1 (the size being known at compile-time) into an inline mempcpy()
expansion, which will in turn expand into a byte load and store operation.
This expansion loses precious address alignment information at some point
(because everybody knows that you can read a byte from any address, right?),
and this loses bigtime on strict alignment platforms which lack the ability
to accesse bytes directly, such as alpha (unless compiling with -mbwx and
runnning on a BWX-capable cpu).
config/alpha:
Require alignment of local arrays on word boundaries, and enable
the builtins.c `one-byte memcpy' workaround.
ok espie@
gcj only needs the internal libffi copy to build and links statically against
it. so there is no point in installing the libffi headers and libraries from
the gcc tree.
discussed with espie@ kurt@ and upstream libffi maintainer
ok espie@ kurt@
work on OpenBSD, and exceptions are hevaily used by OpenOffice.Org.
Backport PR libstdc++/31481 from GCC repository because this fix is needed
by openoffice:
PR libstdc++/31481
* include/ext/type_traits.h (__numeric_traits): Move...
* include/ext/numeric_traits.h: ... here; fix type of
__max_digits10.
* include/ext/pb_ds/detail/type_utils.hpp: Include
<ext/numeric_traits.h> too.
* include/tr1/random: Likewise.
Tested with both openoffice and webkit. bump needed PKGNAMEs;
NOTE: this needs current -src, in particular current includes
for libgfortran to build correctly (semantics change in __extern inline
that lead to duplicate isalnum symbols otherwise).