registry/tools/reg2bin.cxx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-)
New commits: commit df42c435f62528c1b7ae7ca3b8f8d2afa7196045 Author: Caolán McNamara <[email protected]> Date: Tue Feb 5 10:25:42 2013 +0000 write double/float via union with unsigned type for strict-aliasing Change-Id: Ie4dd1d41e5cde27ec5b144ca4b7c97276ff62479 Reviewed-on: https://gerrit.libreoffice.org/1990 Reviewed-by: David Ostrovsky <[email protected]> Tested-by: David Ostrovsky <[email protected]> diff --git a/registry/tools/reg2bin.cxx b/registry/tools/reg2bin.cxx index be8fead..5983b56 100644 --- a/registry/tools/reg2bin.cxx +++ b/registry/tools/reg2bin.cxx @@ -1196,6 +1196,7 @@ sal_uInt64 writeMap( static_cast< sal_uInt32 >(j->second.constantValue.l)); break; case CONSTANT_TYPE_UNSIGNED_LONG: + case CONSTANT_TYPE_FLOAT: //access through union for strict-aliasing write32(file, j->second.constantValue.ul); break; case CONSTANT_TYPE_HYPER: @@ -1204,20 +1205,9 @@ sal_uInt64 writeMap( static_cast< sal_uInt64 >(j->second.constantValue.h)); break; case CONSTANT_TYPE_UNSIGNED_HYPER: + case CONSTANT_TYPE_DOUBLE: //access through union for strict-aliasing write64(file, j->second.constantValue.uh); break; - case CONSTANT_TYPE_FLOAT: - write32( - file, - *reinterpret_cast< sal_uInt32 const * >( - &j->second.constantValue.f)); - break; - case CONSTANT_TYPE_DOUBLE: - write64( - file, - *reinterpret_cast< sal_uInt64 const * >( - &j->second.constantValue.d)); - break; default: std::abort(); // this cannot happen }
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
