Since coverage results are "better" with GCC, we should make sure that the code cleanly compile (no warning, no errors) with it (which was not the case before this PR).
That being said, even without the coverage we should support GCC.
Because several errors were related to mix between signed and unsigned integers, I had to rework some types and used the occasion to "migrate" to fixed-width integers whenever its possible.
At that point, I got several errors on the CI related to the lint `cert-err60-cpp`` and after some troubleshooting, the root cause appears to be the outdated libstdc++ (4.8) that is shipped on Ubuntu 14.04.
This was solved by using our own exception types (which we would have to do at one point anyway).
To finalize the cleanup, I introduced the namespace "kad" (also something I had planned for later, but well let's do it now…).
Since coverage results are "better" with GCC, we should make sure that the code cleanly compile (no warning, no errors) with it (which was not the case before this PR). That being said, even without the coverage we should support GCC.
Because several errors were related to mix between signed and unsigned integers, I had to rework some types and used the occasion to "migrate" to fixed-width integers whenever its possible.
At that point, I got several errors on the CI related to the lint `cert-err60-cpp`` and after some troubleshooting, the root cause appears to be the outdated libstdc++ (4.8) that is shipped on Ubuntu 14.04.
This was solved by using our own exception types (which we would have to do at one point anyway).
To finalize the cleanup, I introduced the namespace "kad" (also something I had planned for later, but well let's do it now…).