Use lowercase macro names for compiler builtins.
continuous-integration/drone/push Build is passing Details

This commit is contained in:
CismonX 2021-03-04 18:33:40 +08:00
parent aaf881d672
commit a9df95b303
Signed by: cismonx
GPG Key ID: 3094873E29A482FB
1 changed files with 34 additions and 34 deletions

View File

@ -36,27 +36,27 @@
#include <unistd.h>
#ifdef HAVE___BUILTIN_EXPECT
# define CTLSEQS_LIKELY(expr) __builtin_expect(!!(expr), 1)
# define CTLSEQS_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
# define ctlseqs_likely(expr) __builtin_expect(!!(expr), 1)
# define ctlseqs_unlikely(expr) __builtin_expect(!!(expr), 0)
#else
# define CTLSEQS_LIKELY(expr) (expr)
# define CTLSEQS_UNLIKELY(expr) (expr)
# define ctlseqs_likely(expr) (expr)
# define ctlseqs_unlikely(expr) (expr)
#endif // HAVE___BUILTIN_EXPECT
#ifdef HAVE___BUILTIN_UNREACHABLE
# define CTLSEQS_UNREACHABLE() __builtin_unreachable()
# define ctlseqs_unreachable() __builtin_unreachable()
#else
# define CTLSEQS_UNREACHABLE()
# define ctlseqs_unreachable()
#endif // HAVE___BUILTIN_UNREACHABLE
#ifdef HAVE_FUNC_ATTRIBUTE_COLD
# define CTLSEQS_COLD __attribute__((cold))
# define ctlseqs_cold __attribute__((cold))
#else
# define CTLSEQS_COLD
# define ctlseqs_cold
#endif // HAVE_FUNC_ATTRIBUTE_COLD
#ifdef HAVE_FUNC_ATTRIBUTE_HOT
# define CTLSEQS_HOT __attribute__((hot))
# define ctlseqs_hot __attribute__((hot))
#else
# define CTLSEQS_HOT
# define ctlseqs_hot
#endif // HAVE_FUNC_ATTRIBUTE_HOT
#ifndef CTLSEQS_TRIE_NODE_POOL_INIT_SIZE
@ -159,7 +159,7 @@ struct ctlseqs_reader {
bool save_matched;
};
CTLSEQS_HOT static inline int
ctlseqs_hot static inline int
ctlseqs_poll(struct pollfd *pollfd, int timeout)
{
int nevents = poll(pollfd, 1, timeout);
@ -169,31 +169,31 @@ ctlseqs_poll(struct pollfd *pollfd, int timeout)
if (nevents == 0) {
return CTLSEQS_TIMEOUT;
}
if (CTLSEQS_LIKELY(pollfd->revents & POLLIN)) {
if (ctlseqs_likely(pollfd->revents & POLLIN)) {
return CTLSEQS_OK;
}
return pollfd->revents & POLLHUP ? CTLSEQS_EOF : CTLSEQS_ERROR;
}
CTLSEQS_HOT static inline int
ctlseqs_hot static inline int
ctlseqs_do_read(struct ctlseqs_reader *reader)
{
size_t offset = reader->buf_start + reader->last_idx;
ssize_t nbytes = read(reader->pollfd.fd, reader->rbuf + offset, reader->readlen - offset);
if (CTLSEQS_UNLIKELY(nbytes == -1)) {
if (ctlseqs_unlikely(nbytes == -1)) {
if (errno == EAGAIN || errno == EWOULDBLOCK) {
return CTLSEQS_TIMEOUT;
}
return errno == EINTR ? CTLSEQS_INTR : CTLSEQS_ERROR;
}
if (CTLSEQS_UNLIKELY(nbytes == 0)) {
if (ctlseqs_unlikely(nbytes == 0)) {
return CTLSEQS_EOF;
}
reader->buf_end += nbytes;
return CTLSEQS_OK;
}
CTLSEQS_HOT static enum ctlseqs_state
ctlseqs_hot static enum ctlseqs_state
ctlseqs_state_transition(enum ctlseqs_state state, char ch)
{
switch (state) {
@ -242,12 +242,12 @@ ctlseqs_state_transition(enum ctlseqs_state state, char ch)
case ctlseqs_state_str_end:
return ch == '\\' ? ctlseqs_state_done : ctlseqs_state_err;
default:
CTLSEQS_UNREACHABLE();
ctlseqs_unreachable();
return state;
}
}
CTLSEQS_HOT static char const *
ctlseqs_hot static char const *
ctlseqs_fetch_value(char const *seq, int type, union ctlseqs_value **buf)
{
size_t cnt;
@ -286,12 +286,12 @@ ctlseqs_fetch_value(char const *seq, int type, union ctlseqs_value **buf)
case ctlseqs_ph_chrstr:
CTLSEQS_VALUE_STR(num > 0x7f);
default:
CTLSEQS_UNREACHABLE();
ctlseqs_unreachable();
return NULL;
}
}
CTLSEQS_HOT static ssize_t
ctlseqs_hot static ssize_t
ctlseqs_match_pattern(struct ctlseqs_matcher const *matcher, struct ctlseqs_match_args const *args)
{
struct ctlseqs_trie_node const *old_node, empty_node = { 0 };
@ -340,7 +340,7 @@ ctlseqs_match_pattern(struct ctlseqs_matcher const *matcher, struct ctlseqs_matc
return CTLSEQS_NOMATCH;
}
CTLSEQS_HOT static inline ssize_t
ctlseqs_hot static inline ssize_t
ctlseqs_do_match(struct ctlseqs_matcher const *matcher, struct ctlseqs_match_args *args)
{
ssize_t retval = CTLSEQS_PARTIAL;
@ -374,7 +374,7 @@ ctlseqs_do_match(struct ctlseqs_matcher const *matcher, struct ctlseqs_match_arg
return retval;
}
CTLSEQS_HOT static ssize_t
ctlseqs_hot static ssize_t
ctlseqs_reader_match(struct ctlseqs_reader *reader, struct ctlseqs_matcher const *matcher)
{
struct ctlseqs_match_args args = {
@ -388,7 +388,7 @@ ctlseqs_reader_match(struct ctlseqs_reader *reader, struct ctlseqs_matcher const
ssize_t retval = ctlseqs_do_match(matcher, &args);
if (retval == CTLSEQS_PARTIAL) {
reader->last_idx = args.result_idx;
if (CTLSEQS_UNLIKELY(reader->buf_start + args.result_idx == reader->readlen)) {
if (ctlseqs_unlikely(reader->buf_start + args.result_idx == reader->readlen)) {
// Buffer is full but a match is still pending.
// This may happen when the reader's maxlen option is not large enough to hold a sequence,
// or when the the sequences are produced faster than consumed.
@ -419,7 +419,7 @@ ctlseqs_matcher_init()
{
struct ctlseqs_trie_node *pool = malloc(sizeof(struct ctlseqs_trie_node) * CTLSEQS_TRIE_NODE_POOL_INIT_SIZE);
struct ctlseqs_matcher *matcher = malloc(sizeof(struct ctlseqs_matcher));
if (CTLSEQS_UNLIKELY(pool == NULL || matcher == NULL)) {
if (ctlseqs_unlikely(pool == NULL || matcher == NULL)) {
free(pool);
free(matcher);
return NULL;
@ -455,12 +455,12 @@ ctlseqs_matcher_config(struct ctlseqs_matcher *matcher, struct ctlseqs_matcher_o
if (node != NULL) {
continue;
}
if (CTLSEQS_UNLIKELY(++node_idx >= matcher->pool_size)) {
if (CTLSEQS_UNLIKELY(++matcher->pool_idx >= CTLSEQS_TRIE_NODE_POOL_MAX_NUM)) {
if (ctlseqs_unlikely(++node_idx >= matcher->pool_size)) {
if (ctlseqs_unlikely(++matcher->pool_idx >= CTLSEQS_TRIE_NODE_POOL_MAX_NUM)) {
return CTLSEQS_NOMEM;
}
node_pool = malloc(sizeof(struct ctlseqs_trie_node) * matcher->pool_size * 2);
if (CTLSEQS_UNLIKELY(node_pool == NULL)) {
if (ctlseqs_unlikely(node_pool == NULL)) {
return CTLSEQS_NOMEM;
}
node_idx = 0;
@ -487,7 +487,7 @@ ctlseqs_matcher_config(struct ctlseqs_matcher *matcher, struct ctlseqs_matcher_o
return CTLSEQS_OK;
}
CTLSEQS_HOT ssize_t
ctlseqs_hot ssize_t
ctlseqs_match(struct ctlseqs_matcher const *matcher, char const *str, size_t str_len, union ctlseqs_value *result)
{
struct ctlseqs_match_args args = {
@ -510,7 +510,7 @@ ctlseqs_match(struct ctlseqs_matcher const *matcher, char const *str, size_t str
return retval;
}
CTLSEQS_COLD void
ctlseqs_cold void
ctlseqs_matcher_free(struct ctlseqs_matcher *matcher)
{
if (matcher != NULL) {
@ -525,7 +525,7 @@ struct ctlseqs_reader *
ctlseqs_reader_init()
{
struct ctlseqs_reader *reader = malloc(sizeof(struct ctlseqs_reader));
if (CTLSEQS_LIKELY(reader != NULL)) {
if (ctlseqs_likely(reader != NULL)) {
*reader = (struct ctlseqs_reader) { .pollfd.events = POLLIN };
}
return reader;
@ -557,7 +557,7 @@ ctlseqs_reader_config(struct ctlseqs_reader *reader, struct ctlseqs_reader_optio
return CTLSEQS_OK;
}
CTLSEQS_HOT ssize_t
ctlseqs_hot ssize_t
ctlseqs_read(struct ctlseqs_reader *reader, struct ctlseqs_matcher const *matcher, int timeout)
{
ssize_t result;
@ -575,7 +575,7 @@ ctlseqs_read(struct ctlseqs_reader *reader, struct ctlseqs_matcher const *matche
}
}
result = ctlseqs_do_read(reader);
if (CTLSEQS_UNLIKELY(result < 0)) {
if (ctlseqs_unlikely(result < 0)) {
return reader->state == ctlseqs_state_none ? result : CTLSEQS_PARTIAL;
}
return ctlseqs_reader_match(reader, matcher);
@ -584,7 +584,7 @@ ctlseqs_read(struct ctlseqs_reader *reader, struct ctlseqs_matcher const *matche
void
ctlseqs_purge(struct ctlseqs_reader *reader, size_t nbytes)
{
if (CTLSEQS_UNLIKELY(nbytes == 0)) {
if (ctlseqs_unlikely(nbytes == 0)) {
return;
}
reader->buf_start += nbytes;
@ -596,7 +596,7 @@ ctlseqs_purge(struct ctlseqs_reader *reader, size_t nbytes)
reader->state = ctlseqs_state_none;
}
CTLSEQS_COLD void
ctlseqs_cold void
ctlseqs_reader_free(struct ctlseqs_reader *reader)
{
if (reader != NULL) {