aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/bfd-in.h22
-rw-r--r--bfd/bfd-in2.h22
3 files changed, 28 insertions, 22 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 58ddab0..8b7e53e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2021-03-31 Alan Modra <amodra@gmail.com>
+ * bfd-in.h: Include stdbool.h.
+ (bfd_boolean): Define as bool
+ * bfd-in2.h: Regenerate.
+
+2021-03-31 Alan Modra <amodra@gmail.com>
+
* .gitignore: Delete bfd_stdint.h entry.
* Makefile.am (bfdinclude_HEADERS): Delete bfd_stdint.h.
(BUILD_HFILES, LOCAL_H_DEPS): Likewise.
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 46a0fcd..88f1e86 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -35,6 +35,7 @@ extern "C" {
#include "ansidecl.h"
#include "symcat.h"
#include <stdint.h>
+#include <stdbool.h>
#include "diagnostics.h"
#include <stdarg.h>
#include <string.h>
@@ -114,20 +115,19 @@ typedef BFD_HOSTPTR_T bfd_hostptr_t;
/* Forward declaration. */
typedef struct bfd bfd;
-/* Boolean type used in bfd. Too many systems define their own
- versions of "boolean" for us to safely typedef a "boolean" of
- our own. Using an enum for "bfd_boolean" has its own set of
- problems, with strange looking casts required to avoid warnings
- on some older compilers. Thus we just use an int.
-
+/* Boolean type used in bfd.
General rule: Functions which are bfd_boolean return TRUE on
success and FALSE on failure (unless they're a predicate). */
-typedef int bfd_boolean;
-#undef FALSE
-#undef TRUE
-#define FALSE 0
-#define TRUE 1
+#ifdef POISON_BFD_BOOLEAN
+# pragma GCC poison bfd_boolean FALSE TRUE
+#else
+# define bfd_boolean bool
+# undef FALSE
+# undef TRUE
+# define FALSE 0
+# define TRUE 1
+#endif
#ifdef BFD64
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 92af6ca..9fbde9d 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -42,6 +42,7 @@ extern "C" {
#include "ansidecl.h"
#include "symcat.h"
#include <stdint.h>
+#include <stdbool.h>
#include "diagnostics.h"
#include <stdarg.h>
#include <string.h>
@@ -121,20 +122,19 @@ typedef BFD_HOSTPTR_T bfd_hostptr_t;
/* Forward declaration. */
typedef struct bfd bfd;
-/* Boolean type used in bfd. Too many systems define their own
- versions of "boolean" for us to safely typedef a "boolean" of
- our own. Using an enum for "bfd_boolean" has its own set of
- problems, with strange looking casts required to avoid warnings
- on some older compilers. Thus we just use an int.
-
+/* Boolean type used in bfd.
General rule: Functions which are bfd_boolean return TRUE on
success and FALSE on failure (unless they're a predicate). */
-typedef int bfd_boolean;
-#undef FALSE
-#undef TRUE
-#define FALSE 0
-#define TRUE 1
+#ifdef POISON_BFD_BOOLEAN
+# pragma GCC poison bfd_boolean FALSE TRUE
+#else
+# define bfd_boolean bool
+# undef FALSE
+# undef TRUE
+# define FALSE 0
+# define TRUE 1
+#endif
#ifdef BFD64