1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-25 20:25:28 +03:00
aports/testing/mame/fix-ppc64le-float.patch

115 lines
3.1 KiB
Diff

--- a/3rdparty/bx/include/bx/inline/endian.inl
+++ b/3rdparty/bx/include/bx/inline/endian.inl
@@ -46,7 +46,7 @@
}
template <typename Ty>
- inline Ty toLittleEndian(const Ty _in)
+ inline Ty toLittleEndian(Ty _in)
{
#if BX_CPU_ENDIAN_BIG
return endianSwap(_in);
@@ -56,7 +56,7 @@
}
template <typename Ty>
- inline Ty toBigEndian(const Ty _in)
+ inline Ty toBigEndian(Ty _in)
{
#if BX_CPU_ENDIAN_LITTLE
return endianSwap(_in);
@@ -66,7 +66,7 @@
}
template <typename Ty>
- inline Ty toHostEndian(const Ty _in, bool _fromLittleEndian)
+ inline Ty toHostEndian(Ty _in, bool _fromLittleEndian)
{
#if BX_CPU_ENDIAN_LITTLE
return _fromLittleEndian ? _in : endianSwap(_in);
--- a/3rdparty/bx/include/bx/inline/readerwriter.inl
+++ b/3rdparty/bx/include/bx/inline/readerwriter.inl
@@ -273,7 +273,7 @@
}
template<typename Ty>
- int32_t read(ReaderI* _reader, Ty& _value, Error* _err)
+ inline int32_t read(ReaderI* _reader, Ty& _value, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
@@ -281,7 +281,7 @@
}
template<typename Ty>
- int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err)
+ inline int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
@@ -329,7 +329,7 @@
}
template<typename Ty>
- int32_t write(WriterI* _writer, const Ty& _value, Error* _err)
+ inline int32_t write(WriterI* _writer, const Ty& _value, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
@@ -337,7 +337,7 @@
}
template<typename Ty>
- int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err)
+ inline int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
@@ -346,8 +346,14 @@
return result;
}
+ template<>
+ inline int32_t writeLE(WriterI* _writer, const float& _value, Error* _err)
+ {
+ return writeLE(_writer, floatToBits(_value), _err);
+ }
+
template<typename Ty>
- int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err)
+ inline int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
@@ -356,6 +362,12 @@
return result;
}
+ template<>
+ inline int32_t writeBE(WriterI* _writer, const float& _value, Error* _err)
+ {
+ return writeBE(_writer, floatToBits(_value), _err);
+ }
+
inline int64_t skip(SeekerI* _seeker, int64_t _offset)
{
return _seeker->seek(_offset, Whence::Current);
@@ -392,7 +404,7 @@
}
template<typename Ty>
- int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err)
+ inline int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err)
{
BX_ERROR_SCOPE(_err);
BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() );
--- a/3rdparty/bx/include/bx/readerwriter.h
+++ b/3rdparty/bx/include/bx/readerwriter.h
@@ -10,6 +10,7 @@
#include "endian.h"
#include "error.h"
#include "filepath.h"
+#include "math.h"
#include "string.h"
#include "uint32_t.h"