PKGBUILDs/community/heaptrack/heaptrack-fix-build-on-32bit.patch
2019-10-06 20:30:25 +00:00

42 lines
1.2 KiB
Diff

diff --git a/tests/auto/tst_io.cpp b/tests/auto/tst_io.cpp
index 48abda6..fd31b31 100644
--- a/tests/auto/tst_io.cpp
+++ b/tests/auto/tst_io.cpp
@@ -27,6 +27,11 @@
using namespace std;
+constexpr uint64_t operator""_u64(unsigned long long v)
+{
+ return static_cast<uint64_t>(v);
+}
+
TEST_CASE ("write data", "[write]") {
TempFile file;
REQUIRE(file.open());
@@ -124,7 +129,7 @@ TEST_CASE ("read line 64bit", "[read]") {
REQUIRE(reader >> module);
REQUIRE(module == "/tmp/KDevelop-5.2.1-x86_64/usr/lib/libKF5Completion.so.5");
- for (uint64_t expected : {0x7f48beedc00ul, 0x0ul, 0x36854ul, 0x236858ul, 0x2700ul}) {
+ for (auto expected : {0x7f48beedc00_u64, 0x0_u64, 0x36854_u64, 0x236858_u64, 0x2700_u64}) {
uint64_t addr = 0;
REQUIRE(reader >> addr);
REQUIRE(addr == expected);
diff --git a/src/util/linewriter.h b/src/util/linewriter.h
index 73a7930..e895e87 100644
--- a/src/util/linewriter.h
+++ b/src/util/linewriter.h
@@ -158,6 +158,11 @@ public:
return __builtin_clzl(V);
}
+ inline static unsigned clz(long long unsigned V)
+ {
+ return __builtin_clzll(V);
+ }
+
template <typename V>
static char* writeHexNumber(char* buffer, V value)
{