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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"

Reply via email to