> On Dec 6, 2014, at 4:05 PM, Alex Aycinena <alex.aycin...@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 _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel