add compile-time error for oversized grids
authorSebastian <git@sraa.de>
Thu, 26 Jun 2014 01:43:21 +0000 (01:43 +0000)
committerSebastian <git@sraa.de>
Thu, 26 Jun 2014 01:43:21 +0000 (01:43 +0000)
lb/Makefile
lb/esrc/lb_2d.c
lb/shared.h

index 949e1a6b933316acfd249a68d821e299098c5c68..4bb87aecd5c754468203bf6d1507aff58eeab6d8 100644 (file)
@@ -34,6 +34,7 @@ EELFS = $(EAPPS:$(DEST)%srec=$(EDEST)%elf)
 
 .SECONDARY:
 .PHONY: all help host target folders run clean
+.NOTPARALLEL: clean
 
 # === Phony Rules =========================================================
 help:
@@ -69,15 +70,15 @@ clean:
                2>/dev/null
 
 $(HDEST):
-       @$(ECHO) "\tMKDIR $(HDEST)"
+       @$(ECHO) "\t(HOST)   MKDIR $(HDEST)"
        @mkdir -p $(HDEST)
 
 $(EDEST):
-       @$(ECHO) "\tMKDIR $(EDEST)"
+       @$(ECHO) "\t(HOST)   MKDIR $(EDEST)"
        @mkdir -p $(EDEST)
 
 $(DEST):
-       @$(ECHO) "\tMKDIR $(DEST)"
+       @$(ECHO) "\t(HOST)   MKDIR $(DEST)"
        @mkdir -p $(DEST)
 
 # === Host Rules ==========================================================
index 99f65501fbe684d71b697eba572f25ea60df1c73..6f36cef15dcc21894ffbe1381c9ecb0d97710813 100644 (file)
@@ -22,6 +22,8 @@ void delay(void)
 
 int main()
 {
+       BUILD_BUG(BLOCK_X * BLOCK_Y * sizeof(d2q9_node_t) > 24*1024);
+
        const FLOAT omega = 1.0;
 
        init_block(block);
index 44515d9909e8476f1e7bc2c7987452c1614723e6..7000418d387a9fdd69adc5a48d64bc53175f84db 100644 (file)
@@ -3,10 +3,15 @@
 #define _SHARED_H_
 
 #include <stdint.h>
+
+/* PACKED is defined for e-gcc, but not for gcc */
 #ifndef PACKED
 #define PACKED __attribute__((packed))
 #endif /* PACKED */
 
+/* produce compile-time errors if condition is true */
+#define BUILD_BUG(c) do { ((void)sizeof(char[1 - 2*!!(c)])); } while(0);
+
 /* number of cores */
 #define NUM_CORES 16