Functions which end in a BUG() statement and skip the return statement
cause compile warnings on s390, e.g.:
mm/bootmem.c: In function 'mark_bootmem':
mm/bootmem.c:321: warning: control reaches end of non-void function
To avoid the warning add an endless loop to the BUG() macro.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
 
 #endif /* CONFIG_DEBUG_BUGVERBOSE */
 
-#define BUG()  __EMIT_BUG(0)
+#define BUG() do {                                     \
+       __EMIT_BUG(0);                                  \
+       for (;;);                                       \
+} while (0)
 
 #define WARN_ON(x) ({                                  \
        int __ret_warn_on = !!(x);                      \