[PATCH 1/1] arch/powerpc: Remove redundant typedef for bool

Misbah Anjum N misanjum at linux.ibm.com
Mon Mar 24 03:36:07 AEDT 2025


The custom 'bool' typedef in arch/powerpc/boot/types.h is incompatible with
the C23 standard, where 'bool', 'true', and 'false' are now reserved keywords.
With newer GCC versions (such as GCC 15), redefining 'bool' leads to compilation
errors. For example:
    error: 'bool' cannot be defined via 'typedef'

Since 'stdbool.h' is already included and provides a standard definition for
'bool', this typedef is redundant and can be removed to avoid conflicts.

Compilation Error:
    $ make -j$(nproc)
    ....
    In file included from arch/powerpc/boot/ops.h:13,
                     from arch/powerpc/boot/cuboot.c:12:
    arch/powerpc/boot/types.h:43:13: error: ‘bool’ cannot be defined via ‘typedef’
    43 | typedef int bool;
        |             ^~~~
    arch/powerpc/boot/types.h:43:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
    arch/powerpc/boot/types.h:43:1: warning: useless type name in empty declaration
    43 | typedef int bool;
        | ^~~~~~~
    ....
    make[2]: *** [arch/powerpc/boot/Makefile:235: arch/powerpc/boot/devtree.o] Error 1
    make[2]: *** [arch/powerpc/boot/Makefile:235: arch/powerpc/boot/ofconsole.o] Error 1
    make[2]: *** [arch/powerpc/boot/Makefile:235: arch/powerpc/boot/ns16550.o] Error 1
    make[2]: *** [arch/powerpc/boot/Makefile:235: arch/powerpc/boot/main.o] Error 1
    make[1]: *** [arch/powerpc/Makefile:236: zImage] Error 2
    make: *** [Makefile:251: __sub-make] Error 2

Signed-off-by: Misbah Anjum N <misanjum at linux.ibm.com>
---
 arch/powerpc/boot/types.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/boot/types.h b/arch/powerpc/boot/types.h
index 8a4c418b7..6f34b31b8 100644
--- a/arch/powerpc/boot/types.h
+++ b/arch/powerpc/boot/types.h
@@ -40,7 +40,9 @@ typedef s64 int64_t;
 #define min_t(type, a, b) min(((type) a), ((type) b))
 #define max_t(type, a, b) max(((type) a), ((type) b))
 
+#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 202300L
 typedef int bool;
+#endif
 
 #ifndef true
 #define true 1
-- 
2.49.0



More information about the Linuxppc-dev mailing list