[PATCHv2 1/5] compiler.h: add host_build()

Sebastian Reichel sebastian.reichel at collabora.com
Tue Dec 15 00:41:53 CET 2020


Add a host_build() function, so that it's possible to
check for software being build with USE_HOSTCC without
relying on preprocessor conditions. In other words

 #ifdef USE_HOSTCC
 	host_only_code();
 #endif

can be written like this instead:

 if (host_build())
 	host_only_code();

This improves code readability and test coverage and
compiler will eleminate this unreachable code.

Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>
---
 include/compiler.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/compiler.h b/include/compiler.h
index 90b7afae5376..27b9843497a4 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -6,6 +6,7 @@
 #define __COMPILER_H__
 
 #include <stddef.h>
+#include <stdbool.h>
 
 #ifdef USE_HOSTCC
 
@@ -150,4 +151,12 @@ typedef unsigned long int uintptr_t;
 #define MEM_SUPPORT_64BIT_DATA	0
 #endif
 
+static inline bool host_build(void) {
+#ifdef USE_HOSTCC
+	return true;
+#else
+	return false;
+#endif
+}
+
 #endif
-- 
2.29.2



More information about the U-Boot mailing list