make fails
John Ralls
jralls at ceridwen.us
Sun Dec 7 14:52:25 EST 2014
> On Dec 6, 2014, at 4:05 PM, Alex Aycinena <alex.aycinena at gmail.com> wrote:
>
> John,
>
> I get the following error on make with your latest push on Fedora 20 and 19:
>
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp: In member function 'GncInt128 GncInt128::gcd(GncInt128) const':
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:157:24: error: suggest parentheses around arithmetic in operand of '^' [-Werror=parentheses]
> while (t && (t & one ^ one)) t >>= 1; //B3 & B4
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp: In member function 'GncInt128& GncInt128::operator*=(const GncInt128&)':
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:448:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry = rv[1] > scratch ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:453:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry = rv[2] > scratch ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:455:28: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry += scratch > rv[2] ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:459:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry = rv[3] > scratch ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:461:28: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry += scratch > rv[3] ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:463:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> carry += rv[3] > scratch ? 1 : 0;
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp: In function 'void {anonymous}::div_multi_leg(uint64_t*, size_t, uint64_t*, size_t, GncInt128&, GncInt128&)':
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:498:26: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> for (auto i = 0; i < m; ++i)
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:515:26: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> for (auto i = 0; i < n; ++i)
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:534:23: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> while (qhat > sublegmask ||
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:535:25: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> (rhat <= sublegmask &&
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:543:30: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> for (auto k = 0; k < n; ++k) //D4
> ^
> /home/gnucash-dev/gitcheckouts/gnucash/src/libqof/qof/gnc-int128.cpp:569:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> for (auto k = 0; k < n; ++k)
> ^
> At global scope:
> cc1plus: error: unrecognized command line option "-Wno-deprecated-register" [-Werror]
> cc1plus: all warnings being treated as errors
Alex,
Thanks for the heads up. I’ve pushed a fix.
It still won’t build on F18 or Debian Wheezy. There’s a problem with GCC 4.7, used in both, such that it doesn’t recognize the C99 standard sized-integer macros, e.g. UINT64_MAX, and the work-arounds I’ve found so far don’t.
Regards,
John Ralls
More information about the gnucash-devel
mailing list