From: Akim Demaille Date: Tue, 12 Nov 2013 14:46:27 +0000 (+0100) Subject: aver: it is no longer "protected against NDEBUG" X-Git-Tag: v3.0.1~1 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/458171e6df5a0110a35ee45ad8b2e9f6fb426f1d aver: it is no longer "protected against NDEBUG" Apply the same rules for aver as for assert: no side effects, especially not important ones. * src/AnnotationList.c, src/muscle-tab.c: Adjust aver uses to resist to -DNDEBUG. --- diff --git a/src/AnnotationList.c b/src/AnnotationList.c index b14c675b..31d8a991 100644 --- a/src/AnnotationList.c +++ b/src/AnnotationList.c @@ -541,9 +541,13 @@ AnnotationList__compute_from_inadequacies ( { InadequacyList__prependTo (conflict_node, &inadequacy_lists[s->number]); - aver (AnnotationList__insertInto ( - annotation_node, &annotation_lists[s->number], - s->nitems)); + { + bool b = + AnnotationList__insertInto (annotation_node, + &annotation_lists[s->number], + s->nitems); + aver (b); + } /* This aver makes sure the AnnotationList__computeDominantContribution check above does discard annotations in the simplest case of a S/R diff --git a/src/muscle-tab.c b/src/muscle-tab.c index cc5d01df..71a79b4e 100644 --- a/src/muscle-tab.c +++ b/src/muscle-tab.c @@ -299,8 +299,9 @@ muscle_location_grow (char const *key, location loc) #define COMMON_DECODE(Value) \ case '$': \ - aver (*++(Value) == ']'); \ - aver (*++(Value) == '['); \ + ++(Value); aver (*(Value) == '['); \ + ++(Value); aver (*(Value) == ']'); \ + ++(Value); aver (*(Value) == '['); \ obstack_sgrow (&muscle_obstack, "$"); \ break; \ case '@': \ @@ -349,7 +350,7 @@ location_decode (char const *value) location loc; aver (value); aver (*value == '['); - aver (*++value == '['); + ++value; aver (*value == '['); while (*++value) switch (*value) { @@ -360,16 +361,16 @@ location_decode (char const *value) case ']': { char *boundary_str; - aver (*++value == ']'); + ++value; aver (*value == ']'); boundary_str = obstack_finish0 (&muscle_obstack); switch (*++value) { case ',': boundary_set_from_string (&loc.start, boundary_str); obstack_free (&muscle_obstack, boundary_str); - aver (*++value == ' '); - aver (*++value == '['); - aver (*++value == '['); + ++value; aver (*value == ' '); + ++value; aver (*value == '['); + ++value; aver (*value == '['); break; case '\0': boundary_set_from_string (&loc.end, boundary_str);