blob: 72b7db3158f06163fc06ad20596e318c0a114c07 (
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
|
Make the code C23-compatible
Replace the enum-defined true/false constants with the default one. Also
fix-up a function definition.
Authour: Alexander Golubev (Fat-Zer) <fatzer2@gmail.com>
Bug: https://bugs.gentoo.org/944881
Source: A dedicated patch for Gentoo
--- a/libgputils/gpcoffgen.h
+++ b/libgputils/gpcoffgen.h
@@ -88,7 +88,7 @@ extern gp_reloc_t *gp_coffgen_add_reloc(gp_section_t *Section);
#define RELOC_DISABLE_WARN (1 << 0)
#define RELOC_ENABLE_CINIT_WARN (1 << 1)
-extern void gp_coffgen_check_relocations(const gp_object_t *Object, unsigned int Behavior);
+extern void gp_coffgen_check_relocations(const gp_object_t *Object, gp_boolean Behavior);
extern gp_boolean gp_coffgen_del_reloc(gp_section_t *Section, gp_reloc_t *Relocation);
extern const char *gp_coffgen_reloc_type_to_str(uint16_t Type);
--- a/libgputils/gptypes.h
+++ b/libgputils/gptypes.h
@@ -26,10 +26,16 @@ Boston, MA 02111-1307, USA. */
#include "stdhdr.h"
+/* C99 systems have <stdbool.h>. Non-C99 systems may or may not. */
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <stdbool.h>
+typedef int gp_boolean; /* use int rather than bool to keep ABI compatible with enum; replace with bool if you are bold */
+#else
typedef enum {
false = (0 == 1),
true = (0 == 0)
} gp_boolean;
+#endif
typedef long gp_symvalue_t;
|