summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/endian.h
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2002-09-23 04:32:17 +0000
committermike <mike@FreeBSD.org>2002-09-23 04:32:17 +0000
commitfb4d714b00676a2c13be7b3ff5b5fbf418c2e40b (patch)
treead7926a9810fc157f35d5f4b75967c4d275920dc /sys/sparc64/include/endian.h
parent44f67149a75cbc8e6ca50ff4182ce07e0fce9815 (diff)
downloadFreeBSD-src-fb4d714b00676a2c13be7b3ff5b5fbf418c2e40b.zip
FreeBSD-src-fb4d714b00676a2c13be7b3ff5b5fbf418c2e40b.tar.gz
Be careful not to define GCC-specific optimizations in the non-GCC
case.
Diffstat (limited to 'sys/sparc64/include/endian.h')
-rw-r--r--sys/sparc64/include/endian.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/sparc64/include/endian.h b/sys/sparc64/include/endian.h
index e8ee184..f10032c 100644
--- a/sys/sparc64/include/endian.h
+++ b/sys/sparc64/include/endian.h
@@ -94,11 +94,20 @@ __bswap64(__uint64_t _x)
((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
}
-#endif /* __GNUC__ */
-
#define __htonl(x) ((__uint32_t)(x))
#define __htons(x) ((__uint16_t)(x))
#define __ntohl(x) ((__uint32_t)(x))
#define __ntohs(x) ((__uint16_t)(x))
+#else /* !__GNUC__ */
+
+/*
+ * No optimizations are available for this compiler. Fall back to
+ * non-optimized functions by defining the constant usually used to prevent
+ * redefinition.
+ */
+#define _BYTEORDER_FUNC_DEFINED
+
+#endif /* __GNUC__ */
+
#endif /* !_MACHINE_ENDIAN_H_ */
OpenPOWER on IntegriCloud