loci: make assertions optional
The standard NDEBUG flag is used.
With NDEBUG set loci.o is reduced in size by 70%.
diff --git a/c_gen/c_code_gen.py b/c_gen/c_code_gen.py
index 0a10715..b32bd27 100644
--- a/c_gen/c_code_gen.py
+++ b/c_gen/c_code_gen.py
@@ -894,11 +894,15 @@
extern const char *of_error_strings[];
+#ifndef NDEBUG
/* #define ASSERT(val) assert(val) */
#define FORCE_FAULT *(volatile int *)0 = 1
#define ASSERT(val) if (!(val)) \\
fprintf(stderr, "\\nASSERT %s. %s:%d\\n", #val, __FILE__, __LINE__), \\
FORCE_FAULT
+#else
+#define ASSERT(val)
+#endif
/*
* Some LOCI object accessors can fail, and it's easy to forget to check.