diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-06-17 19:45:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-06-17 19:45:55 +0100 |
commit | 59fb6ea4eff116f078307a57217645762b78aba7 (patch) | |
tree | bc4b009c0fb67e5716ad01ba8306a486fe4744ed /x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff | |
parent | 197f0639ca0a63b397552e059e2a992d39e09e55 (diff) |
gentoo auto-resync : 17:06:2023 - 19:45:55
Diffstat (limited to 'x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff')
-rw-r--r-- | x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff b/x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff new file mode 100644 index 000000000000..b32832f10e10 --- /dev/null +++ b/x11-misc/piedock/files/piedock-1.6.9-clang16-register-narrowing.diff @@ -0,0 +1,108 @@ +# Fix build with clang 16. There were two main issues: +# 1. Usage of regiter keyword, which has been removed since C++17 +# 2. Non-constant-expression cannot be narrowed +# This patch fixes both the issues. +# Bug: https://bugs.gentoo.org/898888 +--- a/src/Blender.cpp ++++ b/src/Blender.cpp +@@ -147,20 +147,20 @@ void Blender::blendInto32Bit(Details &details) { + a >>= 24; + mod = alphaMax / static_cast<double>(a); + +- register int d = (*dest) & 0xff; +- register int blue = (*src) & 0xff; ++ int d = (*dest) & 0xff; ++ int blue = (*src) & 0xff; + blue -= d; + blue /= mod; + blue += d; + + d = (*dest>>8) & 0xff; +- register int green = (*src >> 8) & 0xff; ++ int green = (*src >> 8) & 0xff; + green -= d; + green /= mod; + green += d; + + d = (*dest >> 16) & 0xff; +- register int red = (*src >> 16) & 0xff; ++ int red = (*src >> 16) & 0xff; + red -= d; + red /= mod; + red += d; +@@ -282,9 +282,9 @@ void Blender::blendInto16Bit(Details &details) { + src += 4; + dest += 2; + } else if (a == 0xff && !useGlobalAlpha) { +- register int blue = *(src++); +- register int green = *(src++); +- register int red = *(src++); ++ int blue = *(src++); ++ int green = *(src++); ++ int red = *(src++); + + *(reinterpret_cast<uint16_t *>(dest)) = + static_cast<uint16_t>((blue & 0xf8) >> 3) | +@@ -297,21 +297,21 @@ void Blender::blendInto16Bit(Details &details) { + mod = alphaMax/static_cast<double>(a); + + uint16_t pixel = *(reinterpret_cast<uint16_t *>(dest)); +- register int db = (pixel << 3) & 0xf8; +- register int dg = (pixel >> 3) & 0xf8; +- register int dr = (pixel >> 8) & 0xf8; ++ int db = (pixel << 3) & 0xf8; ++ int dg = (pixel >> 3) & 0xf8; ++ int dr = (pixel >> 8) & 0xf8; + +- register int blue = *src++; ++ int blue = *src++; + blue -= db; + blue /= mod; + blue += db; + +- register int green = *src++; ++ int green = *src++; + green -= dg; + green /= mod; + green += dg; + +- register int red = *src++; ++ int red = *src++; + red -= dr; + red /= mod; + red += dr; +--- a/src/Cartouche.cpp ++++ b/src/Cartouche.cpp +@@ -110,7 +110,7 @@ void Cartouche::drawRoundedRectangle( + bottom - radius - 1, + right - radius - 1, + getBytesPerLine(), +- color, ++ static_cast<int>( color ), + getData() + top * getBytesPerLine() + }; + +--- a/src/Settings.cpp ++++ b/src/Settings.cpp +@@ -614,7 +614,7 @@ void Settings::load(Display *d) { + !((*ki).modifier & (*mi))) { + Trigger trigger = { + (*ki).modifier | (*mi), +- (*ki).keySym, ++ static_cast<unsigned int>( (*ki).keySym ), + (*ki).menuName, + (*ki).eventMask + }; +--- a/src/WildcardCompare.cpp ++++ b/src/WildcardCompare.cpp +@@ -91,8 +91,8 @@ const bool WildcardCompare::match( + return false; + } + } else { +- register unsigned char p = *pattern; +- register unsigned char l = *literal; ++ unsigned char p = *pattern; ++ unsigned char l = *literal; + + if (p > 64 && p < 91) { + p += 32; |