Created attachment 169761 [details] Use bswap macros/functions from sys/endian.h During the exp-run in bug 208158, it was found that sysutils/afflib gives errors with libc++ 3.8.0 [1]: In file included from vnode_qemu.cpp:18: In file included from ./qemu/qemu-common.h:62: ./qemu/bswap.h:46:24: error: C++ requires a type specifier for all declarations static inline uint16_t bswap16(uint16_t x) ^ /usr/include/sys/endian.h:59:20: note: expanded from macro 'bswap16' #define bswap16(x) __bswap16(x) ^ And similar errors for bswap32() and bswap64(). This is because afflib attempts to define its own versions of these functions, but newer versions of libc++ include <sys/endian.h>, which already defines them. Use the versions from <sys/endian.h> instead. [1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/afflib-3.7.6.log
A commit references this bug: Author: antoine Date: Thu Apr 28 16:30:04 UTC 2016 New revision: 414183 URL: https://svnweb.freebsd.org/changeset/ports/414183 Log: Use bswap* from sys/endian.h instead of defining own versions This fixes build with libc++ 3.8.0 PR: 209100 Submitted by: dim@ Changes: head/sysutils/afflib/files/ head/sysutils/afflib/files/patch-lib_qemu_bswap.h