summaryrefslogtreecommitdiff
blob: 0ead0d51d66549564ede2c237188d84988e1a4bd (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
https://bugs.gentoo.org/913866
https://github.com/MythTV/mythtv/issues/775
https://github.com/MythTV/mythtv/commit/7d6c7d605f87b697c7488d1eb4a3246b83e31f01

From 7d6c7d605f87b697c7488d1eb4a3246b83e31f01 Mon Sep 17 00:00:00 2001
From: David Hampton <mythtv@love2code.net>
Date: Fri, 21 Jul 2023 00:59:43 -0400
Subject: [PATCH] Work around Linux kernel header 6.5 using C++ reserved
 keyword.

Starting with kernel 6.5.0, a rewrite of the linux/ioprio.h header
file uses the C++ reserved keyword "class" as a variable name.
Fortunately we can redefine the string "class" for the duration of the
inclusion without any ill effects.
--- a/libs/libmythbase/mythmiscutil.cpp
+++ b/libs/libmythbase/mythmiscutil.cpp
@@ -702,7 +702,12 @@ void myth_yield(void)
 #include <sys/ptrace.h>
 #include <sys/syscall.h>
 #if __has_include(<linux/ioprio.h>)
+// Starting with kernel 6.5.0, the following include uses the C++
+// reserved keyword "class" as a variable name. Fortunately we can
+// redefine it without any ill effects.
+#define class class2
 #include <linux/ioprio.h>
+#undef class
 #else
 static constexpr int8_t IOPRIO_BITS        { 16 };
 static constexpr int8_t IOPRIO_CLASS_SHIFT { 13 };