BYTE is predefined by some compiler #258
Labels
No labels
announcement
bug
build
CI
dependencies
documentation
duplicate
enhancement
experience feedback
feature request
github_actions
help wanted
install
invalid
Long-term
optimization
portability
question
target-specific
test issue
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Cyan4973/xxHash#258
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One of the targets with which we wish to use xxHash requires compilation with a very old version of MSVC++ (Visual Studio 6), which defines a type named BYTE. This conflicts with xxHash. I've gotten around it for now by renaming xxHash's BYTE to XXBYTE. Perhaps this can be addressed officially in the sources?
Also, _byteswap_ulong is not supported by that version of MSVC++ either.
Is the build macro
XXH_INLINE_ALLused ?Yes. I've only tried XXH_INLINE_ALL.
What about
U8?I mean, it is more consistent.
The problem now is the genericity of some names.
Not just
BYTEorU8by the way, but alsoU32andU64.While these names were in use within
xxhash.cwhich was compiled separately, there was no issue.But now that the tendency is to rather inline it, too generic names increase risks of name collisions.
So we need names which have less chances to be also present in host's code.
Maybe
xxu8,xxu16, etc.note : also use this opportunity to properly link with types already declared in
xxhash.h:XXH32_hash_tandXXH64_hash_t.