[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem backporting libhmsbeagle



Hi James and Gunter,

On Sat, Jun 17, 2017 at 12:08:21PM +0100, James Cowgill wrote:
> > ++i;
> > i &= 3;
> > 
> > Perhaps the c compiler is as unsure which assignment should have the
> > precedence as I am.
> 
> Or "i = (i + 1) & 0x3" which I think looks better.
> 
> The original code invokes undefined behavior so is wrong anyway. I have
> no idea why this only affects jessie-backports though.

I'll check in unstable later - may be with latest upstream version since
we can now inject new upstream again. :-)

I applied your suggestion in a patch[1] but there are remaining errors

...
==========================================================
   libhmsbeagle 2.1.2: examples/tinytest/test-suite.log
==========================================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: tinytest
==============

/tmp/poclRpY3Zg/program.cl:3028:19: warning: implicit declaration of function '_cl_frexp' is invalid in C99
    REAL sigTmp = frexp(tmpPartial, &expTmp);        
                  ^
/usr/share/pocl/include/_kernel.h:1042:24: note: expanded from macro 'frexp'
#define frexp          _cl_frexp
                       ^
/tmp/poclRpY3Zg/program.cl:3273:32: error: call to '_cl_ldexp' is ambiguous
            sum[pat][state] += ldexp(frexp(dRootPartials[u + delta * r], &expTmp), expTmp + (tmpFactor - maxScaleFactor)) * matrixProp[r];
                               ^~~~~
/usr/share/pocl/include/_kernel.h:1073:24: note: expanded from macro 'ldexp'
#define ldexp          _cl_ldexp
                       ^~~~~~~~~
/usr/share/pocl/include/_kernel.h:1190:23: note: candidate function
_CL_DECLARE_FUNC_V_VJ(ldexp)
                      ^
/usr/share/pocl/include/_kernel.h:1073:24: note: expanded from macro 'ldexp'
#define ldexp          _cl_ldexp
                       ^
/usr/share/pocl/include/_kernel.h:753:29: note: expanded from macro '_CL_DECLARE_FUNC_V_VJ'
  half     _CL_OVERLOADABLE NAME(half    , int  );      \
                            ^
/usr/share/pocl/include/_kernel.h:59:24: note: expanded from macro '__IF_FP16'
#  define __IF_FP16(x) x
                       ^
/usr/share/pocl/include/_kernel.h:1190:23: note: candidate function
/usr/share/pocl/include/_kernel.h:1073:24: note: expanded from macro 'ldexp'
#define ldexp          _cl_ldexp
                       ^
/usr/share/pocl/include/_kernel.h:759:29: note: expanded from macro '_CL_DECLARE_FUNC_V_VJ'
  float    _CL_OVERLOADABLE NAME(float   , int  );      \
                            ^
/usr/share/pocl/include/_kernel.h:1190:23: note: candidate function
/usr/share/pocl/include/_kernel.h:1073:24: note: expanded from macro 'ldexp'
...


and yes, I admit I also have no idea why this only arrises in backports.

Thanks for your help anyway

       Andreas.



[1] https://anonscm.debian.org/cgit/debian-med/libhmsbeagle.git/tree/debian/patches/fix_kernels4.cu.patch?h=debian/jessie-backports

-- 
http://fam-tille.de


Reply to: