From: Nick Bowler Date: Mon, 4 Jul 2011 22:11:48 +0000 (-0400) Subject: Use assert(0) instead of abort for exceptional cases. X-Git-Tag: v1~158 X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/commitdiff_plain/8f66c0f29d726879468762bd65d1062b6939d2ea Use assert(0) instead of abort for exceptional cases. assert prints helpful context info to stderr. These cases should never be reached except by programmer error. --- diff --git a/src/explain.c b/src/explain.c index d8a5f05..6ab2796 100644 --- a/src/explain.c +++ b/src/explain.c @@ -1,6 +1,8 @@ #include #include #include +#include + #include "cdecl.h" #include "typemap.h" @@ -123,7 +125,7 @@ static const char *explain_storage(unsigned spec) case CDECL_STOR_REGISTER: return "register"; default: - abort(); + assert(0); } } @@ -164,7 +166,7 @@ static struct cdecl_declarator *next_declarator(struct cdecl_declarator *d) case CDECL_DECL_ARRAY: return d->u.array.declarator; default: - abort(); + assert(0); } } @@ -229,7 +231,7 @@ explain_declarators(char *buf, size_t n, struct cdecl_declarator *d) case CDECL_DECL_ARRAY: return ret + explain_array(buf, n, &d->u.array); default: - abort(); + assert(0); } } diff --git a/src/parse-decl.c b/src/parse-decl.c index eb543ec..45ade35 100644 --- a/src/parse-decl.c +++ b/src/parse-decl.c @@ -42,7 +42,7 @@ static int verify_declspecs(struct cdecl_declspec *s) fprintf(stderr, "only function declarations may have function specifiers.\n"); return -1; default: - abort(); + assert(0); } } diff --git a/src/parse.y b/src/parse.y index 8840279..0a2c2b5 100644 --- a/src/parse.y +++ b/src/parse.y @@ -22,6 +22,8 @@ %locations %{ +#include + #include "scan.h" #include "cdecl.h" @@ -89,7 +91,7 @@ static void free_declarator(struct cdecl_declarator *x) free_declarator(x->u.array.declarator); break; default: - abort(); + assert(0); } free(x); x = p;