summaryrefslogtreecommitdiff
path: root/app-editors/kakoune/files/kakoune-2021.11.08-gcc12.patch
blob: 7f1101cdbf498a51cc2ec27171d71854b29edacb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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)