svn commit: r259617 - in stable/9/sys: mips/include powerpc/include

Sergey Kandaurov pluknet at FreeBSD.org
Thu Dec 19 17:29:57 UTC 2013


Author: pluknet
Date: Thu Dec 19 17:29:56 2013
New Revision: 259617
URL: http://svnweb.freebsd.org/changeset/base/259617

Log:
  MFC r255194 and prerequisites r229494,229496:
  
    Introduce internal macros for __U/INT64_C to define the U/INT64_MAX/MIN
    values properly. The previous definition only worked if __STDC_LIMIT_MACROS
    and __STDC_CONSTANT_MACROS were defined at the same time.
  
    Newer versions of gcc define __INT64_C and __UINT64_C, so avoid
    redefining them if gcc provides them.
  
  Applying r255194 fixes stable/9 host to allow source upgrading to the newer
  versions with usr.bin/dtc included in bootstrap tools.
  
  Approved by:	imp (MFC to stable/9)

Modified:
  stable/9/sys/mips/include/_stdint.h
  stable/9/sys/powerpc/include/_stdint.h
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/mips/include/_stdint.h
==============================================================================
--- stable/9/sys/mips/include/_stdint.h	Thu Dec 19 15:45:03 2013	(r259616)
+++ stable/9/sys/mips/include/_stdint.h	Thu Dec 19 17:29:56 2013	(r259617)
@@ -66,6 +66,16 @@
 
 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
 
+#ifndef __INT64_C
+#ifdef __mips_n64
+#define __INT64_C(c)              (c ## L)
+#define __UINT64_C(c)             (c ## UL)
+#else
+#define __INT64_C(c)              (c ## LL)
+#define __UINT64_C(c)             (c ## ULL)
+#endif
+#endif
+
 /*
  * ISO/IEC 9899:1999
  * 7.18.2.1 Limits of exact-width integer types
@@ -74,19 +84,19 @@
 #define	INT8_MIN	(-0x7f-1)
 #define	INT16_MIN	(-0x7fff-1)
 #define	INT32_MIN	(-0x7fffffff-1)
-#define	INT64_MIN	(-INT64_C(0x7fffffffffffffff)-1)
+#define	INT64_MIN	(-__INT64_C(0x7fffffffffffffff)-1)
 
 /* Maximum values of exact-width signed integer types. */
 #define	INT8_MAX	0x7f
 #define	INT16_MAX	0x7fff
 #define	INT32_MAX	0x7fffffff
-#define	INT64_MAX	INT64_C(0x7fffffffffffffff)
+#define	INT64_MAX	__INT64_C(0x7fffffffffffffff)
 
 /* Maximum values of exact-width unsigned integer types. */
 #define	UINT8_MAX	0xff
 #define	UINT16_MAX	0xffff
 #define	UINT32_MAX	0xffffffff
-#define	UINT64_MAX	UINT64_C(0xffffffffffffffff)
+#define	UINT64_MAX	__UINT64_C(0xffffffffffffffff)
 
 /*
  * ISO/IEC 9899:1999

Modified: stable/9/sys/powerpc/include/_stdint.h
==============================================================================
--- stable/9/sys/powerpc/include/_stdint.h	Thu Dec 19 15:45:03 2013	(r259616)
+++ stable/9/sys/powerpc/include/_stdint.h	Thu Dec 19 17:29:56 2013	(r259617)
@@ -65,6 +65,16 @@
 
 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
 
+#ifndef __INT64_C
+#ifdef __LP64__
+#define	__INT64_C(c)		(c ## L)
+#define	__UINT64_C(c)		(c ## UL)
+#else
+#define	__INT64_C(c)		(c ## LL)
+#define	__UINT64_C(c)		(c ## ULL)
+#endif
+#endif
+
 /*
  * ISO/IEC 9899:1999
  * 7.18.2.1 Limits of exact-width integer types
@@ -73,19 +83,19 @@
 #define	INT8_MIN	(-0x7f-1)
 #define	INT16_MIN	(-0x7fff-1)
 #define	INT32_MIN	(-0x7fffffff-1)
-#define	INT64_MIN	(-INT64_C(0x7fffffffffffffff)-1)
+#define	INT64_MIN	(-__INT64_C(0x7fffffffffffffff)-1)
 
 /* Maximum values of exact-width signed integer types. */
 #define	INT8_MAX	0x7f
 #define	INT16_MAX	0x7fff
 #define	INT32_MAX	0x7fffffff
-#define	INT64_MAX	INT64_C(0x7fffffffffffffff)
+#define	INT64_MAX	__INT64_C(0x7fffffffffffffff)
 
 /* Maximum values of exact-width unsigned integer types. */
 #define	UINT8_MAX	0xff
 #define	UINT16_MAX	0xffff
 #define	UINT32_MAX	0xffffffff
-#define	UINT64_MAX	UINT64_C(0xffffffffffffffff)
+#define	UINT64_MAX	__UINT64_C(0xffffffffffffffff)
 
 /*
  * ISO/IEC 9899:1999


More information about the svn-src-all mailing list