This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Max gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/2007 Fix overloading ambiguity Fix error introduced in 1275a3f91a744e011b0dba82b09124d249c7abb5 by explicitly casting to bigger signed type before computing abs(). The error was: bts.cpp: In member function ‘uint32_t BTS::rfn_to_fn(uint32_t)’: bts.cpp:554:25: error: call of overloaded ‘abs(uint32_t)’ is ambiguous if (abs(rfn - m_cur_rfn) > RFN_THRESHOLD) { ^ In file included from /usr/include/c++/6/cstdlib:75:0, from /usr/include/c++/6/stdlib.h:36, from /usr/include/osmocom/core/linuxrbtree.h:97, from /usr/include/osmocom/core/timer.h:35, from ./bts.h:29, from bts.cpp:21: /usr/include/stdlib.h:735:12: note: candidate: int abs(int) extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; ^~~ In file included from /usr/include/c++/6/stdlib.h:36:0, from /usr/include/osmocom/core/linuxrbtree.h:97, from /usr/include/osmocom/core/timer.h:35, from ./bts.h:29, from bts.cpp:21: /usr/include/c++/6/cstdlib:185:3: note: candidate: __int128 std::abs(__int128) abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; } ^~~ /usr/include/c++/6/cstdlib:180:3: note: candidate: long long int std::abs(long long int) abs(long long __x) { return __builtin_llabs (__x); } ^~~ /usr/include/c++/6/cstdlib:172:3: note: candidate: long int std::abs(long int) abs(long __i) { return __builtin_labs(__i); } Change-Id: Ib6d895a97aa35414f245ea4406c6e78f1b4fb5b8 --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/2007/1 diff --git a/src/bts.cpp b/src/bts.cpp index 548d000..c19a37e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -550,7 +550,7 @@ * number exceeds a certain limit, we need to assume that the incoming * rach request belongs to a the previous rfn period. To correct this, * we roll back the rounded frame number by one RFN_MODULUS */ - if (abs(rfn - m_cur_rfn) > RFN_THRESHOLD) { + if (abs((int64_t)rfn - m_cur_rfn) > RFN_THRESHOLD) { LOGP(DRLCMAC, LOGL_DEBUG, "Race condition between rfn (%u) and m_cur_fn (%u) detected: rfn belongs to the previos modulus %u cycle, wrappng...\n", rfn, m_cur_fn, RFN_MODULUS); -- To view, visit https://gerrit.osmocom.org/2007 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib6d895a97aa35414f245ea4406c6e78f1b4fb5b8 Gerrit-PatchSet: 1 Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Owner: Max <msuraev at sysmocom.de>