+2025-09-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ maint: allow false/true in C macros
+ * top/maint.mk (sc_Wundef_boolean): Allow false and true in C
+ macro definiens. C23 requires support for false and true, and the
+ ‘bool’ module makes it easy to support this in older compilers.
+
2025-09-07 Bruno Haible <bruno@clisp.org>
bootstrap: Improve efficiency of "git clone".
# That would be flagged by using -Wundef, however gnulib currently
# tests many undefined macros, and so we can't enable that option.
# So at least preclude common boolean strings as macro values.
+# Although this rule formerly also complained about 'true' and 'false',
+# that complaint is now incorrect given that C23 has blessed this practice
+# and the 'bool' module supports it.
sc_Wundef_boolean:
- @prohibit='^#define.*(yes|no|true|false)$$' \
+ @prohibit='^#define.*(yes|no)$$' \
in_files='$(CONFIG_INCLUDE)' \
- halt='Use 0 or 1 for macro values' \
+ halt='Use 0/1 or false/true for macro values' \
$(_sc_search_regexp)
# Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might