summaryrefslogtreecommitdiff
path: root/app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch')
-rw-r--r--app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch b/app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch
new file mode 100644
index 000000000000..7f1101cdbf49
--- /dev/null
+++ b/app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch
@@ -0,0 +1,58 @@
+https://bugs.gentoo.org/840647
+https://github.com/mawww/kakoune/issues/4544
+https://github.com/mawww/kakoune/pull/4549
+https://github.com/mawww/kakoune/commit/d1ea2ffa600fd2a7b14e415b68ceedba3325c5db
+
+commit d1ea2ffa600fd2a7b14e415b68ceedba3325c5db
+Author: Tim Allen <screwtape@froup.com>
+Date: Sat Feb 12 21:35:33 2022 +1100
+
+ Make Color::validate_alpha() a constexpr function.
+
+ We call it from a constexpr constructor, so it needs to be constexpr itself.
+
+ Fixes #4544.
+
+diff --git a/src/color.cc b/src/color.cc
+index b355b9cf..dfe2e955 100644
+--- a/src/color.cc
++++ b/src/color.cc
+@@ -34,13 +34,6 @@ bool is_color_name(StringView color)
+ return contains(color_names, color);
+ }
+
+-void Color::validate_alpha()
+-{
+- static_assert(RGB == 17);
+- if (a < RGB)
+- throw runtime_error("Colors alpha must be > 16");
+-}
+-
+ Color str_to_color(StringView color)
+ {
+ auto it = find_if(color_names, [&](const char* c){ return color == c; });
+diff --git a/src/color.hh b/src/color.hh
+index 943678ed..85babd98 100644
+--- a/src/color.hh
++++ b/src/color.hh
+@@ -1,6 +1,7 @@
+ #ifndef color_hh_INCLUDED
+ #define color_hh_INCLUDED
+
++#include "exception.hh"
+ #include "hash.hh"
+ #include "meta.hh"
+ #include "assert.hh"
+@@ -55,7 +56,11 @@ struct Color
+ }
+
+ private:
+- void validate_alpha();
++ constexpr void validate_alpha() {
++ static_assert(RGB == 17);
++ if (a < RGB)
++ throw runtime_error("Colors alpha must be > 16");
++ }
+ };
+
+ constexpr bool operator==(Color lhs, Color rhs)