]> git.saurik.com Git - bison.git/blobdiff - src/system.h
* src/parse-gram.c, src/parse-gram.h: Regenerate.
[bison.git] / src / system.h
index 8ea5653157fdc72feca09a0324b78b9ae0481f4c..97a92257339ea2fb683764406780ba9c59a0248e 100644 (file)
@@ -1,7 +1,6 @@
 /* System-dependent definitions for Bison.
 
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 2000-2007, 2009-2011 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -123,17 +122,26 @@ typedef size_t uintptr_t;
 | Assertions.  |
 `-------------*/
 
-/* <assert.h>'s assertions are too heavyweight, and can be disabled
-   too easily, so use aver rather than assert.  See discussions at
+/* In the past, Bison defined aver to simply invoke abort in the case of
+   a failed assertion.  The rationale was that <assert.h>'s assertions
+   were too heavyweight and could be disabled too easily.  See
+   discussions at
    <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00080.html>
    <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00111.html>.
+
+   However, normal assert output can be helpful during development and
+   in bug reports from users.  Moreover, it's not clear now that
+   <assert.h>'s assertions are significantly heavyweight.  Finally, if
+   users want to experiment with disabling assertions, it's debatable
+   whether it's our responsibility to stop them.  See discussion
+   starting at
+   <http://lists.gnu.org/archive/html/bison-patches/2009-09/msg00013.html>.
+
+   For now, we use assert but we call it aver throughout Bison in case
+   we later wish to try another scheme.
 */
-static inline void
-aver (bool assertion)
-{
-  if (! assertion)
-    abort ();
-}
+#include <assert.h>
+#define aver assert
 
 
 /*-----------.