Преглед на файлове

Disallow NDEBUG. It is very stupid.

svn:r3012
Nick Mathewson преди 21 години
родител
ревизия
eccfe23a21
променени са 1 файла, в които са добавени 9 реда и са изтрити 1 реда
  1. 9 1
      src/common/util.h

+ 9 - 1
src/common/util.h

@@ -24,7 +24,15 @@
  * calling assert() normally.
  */
 #ifdef NDEBUG
-#define tor_assert(expr) do {} while (0)
+/* Nobody should ever want to build with NDEBUG set.  99% of your asserts will
+ * be outside the critical path anyway, so it's silly to disable bugchecking
+ * throughout the entire program just because a few asserts are slowing you
+ * down.  Profile, optimize the critical path, and keep debugging on.
+ *
+ * And I'm not just saying that because some of our asserts check
+ * security-critical properties.
+ */
+#error "Sorry; we don't support building with NDEBUG."
 #else
 #define tor_assert(expr) do {                                 \
  if (!(expr)) {                                               \