Hello community, here is the log from the commit of package octave-forge-nan for openSUSE:Factory checked in at 2016-04-28 16:54:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/octave-forge-nan (Old) and /work/SRC/openSUSE:Factory/.octave-forge-nan.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-nan" Changes: -------- --- /work/SRC/openSUSE:Factory/octave-forge-nan/octave-forge-nan.changes 2015-07-12 22:52:59.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.octave-forge-nan.new/octave-forge-nan.changes 2016-04-28 16:56:56.000000000 +0200 @@ -1,0 +2,5 @@ +Tue Apr 12 10:06:42 UTC 2016 - [email protected] + +- new nan_xpt2d_add_return_for_BE.patch for ppc64 build + +------------------------------------------------------------------- New: ---- nan_xpt2d_add_return_for_BE.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ octave-forge-nan.spec ++++++ --- /var/tmp/diff_new_pack.KPDcyn/_old 2016-04-28 16:56:57.000000000 +0200 +++ /var/tmp/diff_new_pack.KPDcyn/_new 2016-04-28 16:56:57.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package octave-forge-nan # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,6 +29,7 @@ Patch1: nan-openmp.patch # PATCH-FIX-UPSTREAM nan-gcc.patch -- Fix GCC warnings Patch2: nan-gcc.patch +Patch3: nan_xpt2d_add_return_for_BE.patch BuildRequires: blas-devel BuildRequires: gcc-c++ BuildRequires: octave-devel @@ -42,6 +43,7 @@ %setup -q -c %{name}-%{version} %patch1 -p0 %patch2 -p1 +%patch3 -p1 %octave_pkg_src %build ++++++ nan_xpt2d_add_return_for_BE.patch ++++++ From: Michel Normand <[email protected]> Subject: nan xpt2d add return for BE Date: Tue, 12 Apr 2016 12:02:48 +0200 for xpt2d and d2xpt add return for BE, to avoid compilation warning treated as error by OBS build process: === I: Program returns random data in a function E: octave-forge-nan no-return-in-nonvoid-function xptopen.cpp:1062, 1112 I: Program returns random data in a function E: octave-forge-nan no-return-in-nonvoid-function xptopen.cpp:1062, 1112 === Signed-off-by: Michel Normand <[email protected]> --- NaN/src/xptopen.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) Index: octave-forge-nan-2.8.1/NaN/src/xptopen.cpp =================================================================== --- octave-forge-nan-2.8.1.orig/NaN/src/xptopen.cpp +++ octave-forge-nan-2.8.1/NaN/src/xptopen.cpp @@ -1027,15 +1027,16 @@ if present. double xpt2d(uint64_t x) { // x is little-endian 64bit IBM floating point format - char c = *((char*)&x+7) & 0x7f; - uint64_t u = x; - *((char*)&u+7)=0; - #if __BYTE_ORDER == __BIG_ENDIAN mexErrMsgTxt("IEEE-to-IBM conversion on big-endian platform not supported, yet"); + return(NaN); #elif __BYTE_ORDER==__LITTLE_ENDIAN + char c = *((char*)&x+7) & 0x7f; + uint64_t u = x; + *((char*)&u+7)=0; + #if DEBUG mexPrintf("xpt2d(%016Lx): [0x%x]\n",x,c); @@ -1067,15 +1068,15 @@ double xpt2d(uint64_t x) { */ uint64_t d2xpt(double x) { - uint64_t s,m; - int e; - #if __BYTE_ORDER == __BIG_ENDIAN mexErrMsgTxt("IEEE-to-IBM conversion on big-endian platform not supported, yet"); - + return(0x2eLL << 56); // NaN - not a number #elif __BYTE_ORDER==__LITTLE_ENDIAN + uint64_t s,m; + int e; + if (x != x) return(0x2eLL << 56); // NaN - not a number
