You are using memcpy and uint8_t/uint32_t in this file which according to POSIX standards are defined in string.h and stdint.h respectively. It is unfortunate that this bug is not caught by LLVM but it is caught by GCC.