From: Andrew Pinski <apin...@marvell.com> Hi if we have a aarch64 compiler that has a big-endian multi-lib, it fails to compile libstdc++ because simd_fast_mersenne_twister_engine is only defined for little-endian in ext/random but ext/opt_random.h thinks it is defined always.
OK? Built an aarch64-elf toolchain which has a big-endian multi-lib enabled. Thanks, Andrew Pinski libstdc++/ChangeLog: * config/cpu/aarch64/opt/ext/opt_random.h: Wrap around with check for little-endian like ext/random is done. Signed-off-by: Andrew Pinski <apin...@marvell.com> --- libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h b/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h index 696a6d18ab4..9eca9b7df74 100644 --- a/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h +++ b/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h @@ -44,6 +44,7 @@ _C+8, _C+9, _C+10, _C+11, _C+12, _C+13, _C+14, _C+15}) #endif +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ namespace __gnu_cxx _GLIBCXX_VISIBILITY (default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -175,6 +176,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#endif // __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #endif // __ARM_NEON #endif // _EXT_OPT_RANDOM_H -- 2.17.1