2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00

Simplify way we tag unreachable code with only ISC_UNREACHABLE()

Previously, the unreachable code paths would have to be tagged with:

    INSIST(0);
    ISC_UNREACHABLE();

There was also older parts of the code that used comment annotation:

    /* NOTREACHED */

Unify the handling of unreachable code paths to just use:

    UNREACHABLE();

The UNREACHABLE() macro now asserts when reached and also uses
__builtin_unreachable(); when such builtin is available in the compiler.
This commit is contained in:
Ondřej Surý
2021-10-11 12:50:17 +02:00
committed by Ondřej Surý
parent fe7ce629f4
commit 584f0d7a7e
91 changed files with 246 additions and 439 deletions

View File

@@ -482,8 +482,7 @@ get_rate(dns_rrl_t *rrl, dns_rrl_rtype_t rtype) {
case DNS_RRL_RTYPE_ALL:
return (&rrl->all_per_second);
default:
INSIST(0);
ISC_UNREACHABLE();
UNREACHABLE();
}
}
@@ -852,8 +851,7 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, const char *str1,
ADD_LOG_CSTR(&lb, "slip ");
break;
default:
INSIST(0);
ISC_UNREACHABLE();
UNREACHABLE();
}
switch (e->key.s.rtype) {
@@ -881,8 +879,7 @@ make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, const char *str1,
ADD_LOG_CSTR(&lb, "all ");
break;
default:
INSIST(0);
ISC_UNREACHABLE();
UNREACHABLE();
}
if (plural) {