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

buildd on Armel, PowerPC and S390(x)? agree on narrowing error, why?



Dear list,

I just sponsored a package that built nicely locally with g++ 6.4.2-5 on
amd64 but fails on the platforms listed in the subject line:

    https://buildd.debian.org/status/package.php?p=ball&suite=sid

which gives plenty of repeats of

 .. /source/DATATYPE/hashGrid.C:23:3: error: narrowing conversion of '-0x00000000000000001' from 'int' to 'const char' inside { } [-fpermissive]


I am starring at it for a while now and googled, and from
>From http://msdn.microsoft.com/en-us/library/c70dax92.aspx I can understand that
the regular 1 is taken as an integer constant. So in the code below it should
instead possibly read {'\0', '\1', (char) -1 }  for {0,1,-1} ? I would not like
that too much. And even if so, all platforms should behave the same.


#include <BALL/DATATYPE/hashGrid.h>

namespace BALL
{
        namespace __private
        {
                const char neighbour_table_[27][3] =
                {
                        { 0,  0,  0 }, { 0,  0, -1 }, { 0,  0,  1 },
                        { 0, -1, -1 }, { 0, -1,  0 }, { 0, -1,  1 },
                        { 0,  1, -1 }, { 0,  1,  0 }, { 0,  1,  1 },
                        {-1,  0, -1 }, {-1,  0,  0 }, {-1,  0,  1 },
                        {-1, -1, -1 }, {-1, -1,  0 }, {-1, -1,  1 },
                        {-1,  1, -1 }, {-1,  1,  0 }, {-1,  1,  1 },
                        { 1,  0, -1 }, { 1,  0,  0 }, { 1,  0,  1 },
                        { 1, -1, -1 }, { 1, -1,  0 }, { 1, -1,  1 },
                        { 1,  1, -1 }, { 1,  1,  0 }, { 1,  1,  1 }
                };
        }
}

/// file ends here

where the header file reads

namespace BALL
{
        namespace __private
        {
                extern const char BALL_EXPORT neighbour_table_[27][3];
        }

	....

}


Gcc 4.6.2-5 on amd64 does not complain at all. I do not know the version of gcc on the buildds.

Suggestions?


Many thanks


Steffen


Reply to: