aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2021-03-31 10:19:10 +1030
committerAlan Modra <amodra@gmail.com>2021-03-31 10:49:23 +1030
commitad9e24ad113a160d8d44dba0eb5cb02647a164e0 (patch)
tree3faaa1c83038a5d93208ed914fec2ef2ce933557
parent3dfb1b6d34ec74160735230f606b1df55c917f9d (diff)
downloadgdb-ad9e24ad113a160d8d44dba0eb5cb02647a164e0.zip
gdb-ad9e24ad113a160d8d44dba0eb5cb02647a164e0.tar.gz
gdb-ad9e24ad113a160d8d44dba0eb5cb02647a164e0.tar.bz2
Use stdbool.h
With this in place we can retire bfd_boolean one project at a time. bfd/ * bfd-in.h: Include stdbool.h. (bfd_boolean): Define as bool * bfd-in2.h: Regenerate.
-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