compiler.h: add host_build()
authorSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 14 Dec 2020 23:41:53 +0000 (00:41 +0100)
committerStefano Babic <sbabic@denx.de>
Sat, 26 Dec 2020 11:37:28 +0000 (12:37 +0100)
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@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
include/compiler.h

index 90b7afa..27b9843 100644 (file)
@@ -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