mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
add alternative macro without C casts to avoid Cppcheck warnings
This commit is contained in:
parent
1290733c89
commit
59b4e082a8
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2020, Intel Corporation
|
* Copyright (c) 2015-2020, Intel Corporation
|
||||||
|
* Copyright (c) 2024, VectorCamp PC
|
||||||
* Copyright (c) 2021, Arm Limited
|
* Copyright (c) 2021, Arm Limited
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -133,6 +134,7 @@ struct ALIGN_CL_DIRECTIVE NFA {
|
|||||||
/* Note: implementation (e.g. a LimEx) directly follows struct in memory */
|
/* Note: implementation (e.g. a LimEx) directly follows struct in memory */
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
#ifndef __cplusplus
|
||||||
// Accessor macro for the implementation NFA: we do things this way to avoid
|
// Accessor macro for the implementation NFA: we do things this way to avoid
|
||||||
// type-punning warnings.
|
// type-punning warnings.
|
||||||
#define getImplNfa(nfa) \
|
#define getImplNfa(nfa) \
|
||||||
@ -140,6 +142,13 @@ struct ALIGN_CL_DIRECTIVE NFA {
|
|||||||
|
|
||||||
// Non-const version of the above, used at compile time.
|
// Non-const version of the above, used at compile time.
|
||||||
#define getMutableImplNfa(nfa) ((char *)(nfa) + sizeof(struct NFA))
|
#define getMutableImplNfa(nfa) ((char *)(nfa) + sizeof(struct NFA))
|
||||||
|
#else
|
||||||
|
// Same versions without C casts to avoid Cppcheck warnings
|
||||||
|
#define getImplNfa(nfa) \
|
||||||
|
(reinterpret_cast<const void *>(reinterpret_cast<const char *>(nfa) + sizeof(struct NFA)))
|
||||||
|
|
||||||
|
#define getMutableImplNfa(nfa) (reinterpret_cast<char *>(nfa) + sizeof(struct NFA))
|
||||||
|
#endif
|
||||||
|
|
||||||
static really_inline u32 nfaAcceptsEod(const struct NFA *nfa) {
|
static really_inline u32 nfaAcceptsEod(const struct NFA *nfa) {
|
||||||
return nfa->flags & NFA_ACCEPTS_EOD;
|
return nfa->flags & NFA_ACCEPTS_EOD;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user