Module Name: src Committed By: matt Date: Wed Jan 29 01:40:35 UTC 2014
Modified Files: src/sys/arch/arm/include: int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h limits.h Log Message: Take advantage of compiler predefines for types. Add _LP64 support. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/include/int_fmtio.h cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/include/int_limits.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/include/int_mwgwtypes.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/include/int_types.h cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/include/limits.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/include/int_fmtio.h diff -u src/sys/arch/arm/include/int_fmtio.h:1.5 src/sys/arch/arm/include/int_fmtio.h:1.6 --- src/sys/arch/arm/include/int_fmtio.h:1.5 Fri Aug 29 19:08:29 2008 +++ src/sys/arch/arm/include/int_fmtio.h Wed Jan 29 01:40:35 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: int_fmtio.h,v 1.5 2008/08/29 19:08:29 matt Exp $ */ +/* $NetBSD: int_fmtio.h,v 1.6 2014/01/29 01:40:35 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -46,9 +46,15 @@ #define PRIdLEAST16 "d" /* int_least16_t */ #define PRIdLEAST32 "d" /* int_least32_t */ #define PRIdLEAST64 "lld" /* int_least64_t */ +#ifdef _LP64 +#define PRIdFAST8 "ld" /* int_fast8_t */ +#define PRIdFAST16 "ld" /* int_fast16_t */ +#define PRIdFAST32 "ld" /* int_fast32_t */ +#else #define PRIdFAST8 "d" /* int_fast8_t */ #define PRIdFAST16 "d" /* int_fast16_t */ #define PRIdFAST32 "d" /* int_fast32_t */ +#endif #define PRIdFAST64 "lld" /* int_fast64_t */ #define PRIdMAX "lld" /* intmax_t */ #define PRIdPTR "ld" /* intptr_t */ @@ -61,9 +67,15 @@ #define PRIiLEAST16 "i" /* int_least16_t */ #define PRIiLEAST32 "i" /* int_least32_t */ #define PRIiLEAST64 "lli" /* int_least64_t */ +#ifdef _LP64 +#define PRIiFAST8 "li" /* int_fast8_t */ +#define PRIiFAST16 "li" /* int_fast16_t */ +#define PRIiFAST32 "li" /* int_fast32_t */ +#else #define PRIiFAST8 "i" /* int_fast8_t */ #define PRIiFAST16 "i" /* int_fast16_t */ #define PRIiFAST32 "i" /* int_fast32_t */ +#endif #define PRIiFAST64 "lli" /* int_fast64_t */ #define PRIiMAX "lli" /* intmax_t */ #define PRIiPTR "li" /* intptr_t */ @@ -78,9 +90,15 @@ #define PRIoLEAST16 "o" /* uint_least16_t */ #define PRIoLEAST32 "o" /* uint_least32_t */ #define PRIoLEAST64 "llo" /* uint_least64_t */ +#ifdef _LP64 +#define PRIoFAST8 "lo" /* uint_fast8_t */ +#define PRIoFAST16 "lo" /* uint_fast16_t */ +#define PRIoFAST32 "lo" /* uint_fast32_t */ +#else #define PRIoFAST8 "o" /* uint_fast8_t */ #define PRIoFAST16 "o" /* uint_fast16_t */ #define PRIoFAST32 "o" /* uint_fast32_t */ +#endif #define PRIoFAST64 "llo" /* uint_fast64_t */ #define PRIoMAX "llo" /* uintmax_t */ #define PRIoPTR "lo" /* uintptr_t */ @@ -93,9 +111,15 @@ #define PRIuLEAST16 "u" /* uint_least16_t */ #define PRIuLEAST32 "u" /* uint_least32_t */ #define PRIuLEAST64 "llu" /* uint_least64_t */ +#ifdef _LP64 +#define PRIuFAST8 "lu" /* uint_fast8_t */ +#define PRIuFAST16 "lu" /* uint_fast16_t */ +#define PRIuFAST32 "lu" /* uint_fast32_t */ +#else #define PRIuFAST8 "u" /* uint_fast8_t */ #define PRIuFAST16 "u" /* uint_fast16_t */ #define PRIuFAST32 "u" /* uint_fast32_t */ +#endif #define PRIuFAST64 "llu" /* uint_fast64_t */ #define PRIuMAX "llu" /* uintmax_t */ #define PRIuPTR "lu" /* uintptr_t */ @@ -108,9 +132,15 @@ #define PRIxLEAST16 "x" /* uint_least16_t */ #define PRIxLEAST32 "x" /* uint_least32_t */ #define PRIxLEAST64 "llx" /* uint_least64_t */ +#ifdef _LP64 +#define PRIxFAST8 "lx" /* uint_fast8_t */ +#define PRIxFAST16 "lx" /* uint_fast16_t */ +#define PRIxFAST32 "lx" /* uint_fast32_t */ +#else #define PRIxFAST8 "x" /* uint_fast8_t */ #define PRIxFAST16 "x" /* uint_fast16_t */ #define PRIxFAST32 "x" /* uint_fast32_t */ +#endif #define PRIxFAST64 "llx" /* uint_fast64_t */ #define PRIxMAX "llx" /* uintmax_t */ #define PRIxPTR "lx" /* uintptr_t */ @@ -123,9 +153,15 @@ #define PRIXLEAST16 "X" /* uint_least16_t */ #define PRIXLEAST32 "X" /* uint_least32_t */ #define PRIXLEAST64 "llX" /* uint_least64_t */ +#ifdef _LP64 +#define PRIXFAST8 "lX" /* uint_fast8_t */ +#define PRIXFAST16 "lX" /* uint_fast16_t */ +#define PRIXFAST32 "lX" /* uint_fast32_t */ +#else #define PRIXFAST8 "X" /* uint_fast8_t */ #define PRIXFAST16 "X" /* uint_fast16_t */ #define PRIXFAST32 "X" /* uint_fast32_t */ +#endif #define PRIXFAST64 "llX" /* uint_fast64_t */ #define PRIXMAX "llX" /* uintmax_t */ #define PRIXPTR "lX" /* uintptr_t */ @@ -140,9 +176,15 @@ #define SCNdLEAST16 "hd" /* int_least16_t */ #define SCNdLEAST32 "d" /* int_least32_t */ #define SCNdLEAST64 "lld" /* int_least64_t */ +#ifdef _LP64 +#define SCNdFAST8 "ld" /* int_fast8_t */ +#define SCNdFAST16 "ld" /* int_fast16_t */ +#define SCNdFAST32 "ld" /* int_fast32_t */ +#else #define SCNdFAST8 "d" /* int_fast8_t */ #define SCNdFAST16 "d" /* int_fast16_t */ #define SCNdFAST32 "d" /* int_fast32_t */ +#endif #define SCNdFAST64 "lld" /* int_fast64_t */ #define SCNdMAX "lld" /* intmax_t */ #define SCNdPTR "ld" /* intptr_t */ @@ -155,9 +197,15 @@ #define SCNiLEAST16 "hi" /* int_least16_t */ #define SCNiLEAST32 "i" /* int_least32_t */ #define SCNiLEAST64 "lli" /* int_least64_t */ +#ifdef _LP64 +#define SCNiFAST8 "li" /* int_fast8_t */ +#define SCNiFAST16 "li" /* int_fast16_t */ +#define SCNiFAST32 "li" /* int_fast32_t */ +#else #define SCNiFAST8 "i" /* int_fast8_t */ #define SCNiFAST16 "i" /* int_fast16_t */ #define SCNiFAST32 "i" /* int_fast32_t */ +#endif #define SCNiFAST64 "lli" /* int_fast64_t */ #define SCNiMAX "lli" /* intmax_t */ #define SCNiPTR "li" /* intptr_t */ @@ -172,9 +220,15 @@ #define SCNoLEAST16 "ho" /* uint_least16_t */ #define SCNoLEAST32 "o" /* uint_least32_t */ #define SCNoLEAST64 "llo" /* uint_least64_t */ +#ifdef _LP64 +#define SCNoFAST8 "lo" /* uint_fast8_t */ +#define SCNoFAST16 "lo" /* uint_fast16_t */ +#define SCNoFAST32 "lo" /* uint_fast32_t */ +#else #define SCNoFAST8 "o" /* uint_fast8_t */ #define SCNoFAST16 "o" /* uint_fast16_t */ #define SCNoFAST32 "o" /* uint_fast32_t */ +#endif #define SCNoFAST64 "llo" /* uint_fast64_t */ #define SCNoMAX "llo" /* uintmax_t */ #define SCNoPTR "lo" /* uintptr_t */ @@ -187,9 +241,15 @@ #define SCNuLEAST16 "hu" /* uint_least16_t */ #define SCNuLEAST32 "u" /* uint_least32_t */ #define SCNuLEAST64 "llu" /* uint_least64_t */ +#ifdef _LP64 +#define SCNuFAST8 "lu" /* uint_fast8_t */ +#define SCNuFAST16 "lu" /* uint_fast16_t */ +#define SCNuFAST32 "lu" /* uint_fast32_t */ +#else #define SCNuFAST8 "u" /* uint_fast8_t */ #define SCNuFAST16 "u" /* uint_fast16_t */ #define SCNuFAST32 "u" /* uint_fast32_t */ +#endif #define SCNuFAST64 "llu" /* uint_fast64_t */ #define SCNuMAX "llu" /* uintmax_t */ #define SCNuPTR "lu" /* uintptr_t */ @@ -202,9 +262,15 @@ #define SCNxLEAST16 "hx" /* uint_least16_t */ #define SCNxLEAST32 "x" /* uint_least32_t */ #define SCNxLEAST64 "llx" /* uint_least64_t */ +#ifdef _LP64 +#define SCNxFAST8 "lx" /* uint_fast8_t */ +#define SCNxFAST16 "lx" /* uint_fast16_t */ +#define SCNxFAST32 "lx" /* uint_fast32_t */ +#else #define SCNxFAST8 "x" /* uint_fast8_t */ #define SCNxFAST16 "x" /* uint_fast16_t */ #define SCNxFAST32 "x" /* uint_fast32_t */ +#endif #define SCNxFAST64 "llx" /* uint_fast64_t */ #define SCNxMAX "llx" /* uintmax_t */ #define SCNxPTR "lx" /* uintptr_t */ Index: src/sys/arch/arm/include/int_limits.h diff -u src/sys/arch/arm/include/int_limits.h:1.9 src/sys/arch/arm/include/int_limits.h:1.10 --- src/sys/arch/arm/include/int_limits.h:1.9 Fri Aug 29 19:08:29 2008 +++ src/sys/arch/arm/include/int_limits.h Wed Jan 29 01:40:35 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: int_limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */ +/* $NetBSD: int_limits.h,v 1.10 2014/01/29 01:40:35 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -98,9 +98,15 @@ /* 7.18.2.4 Limits of integer types capable of holding object pointers */ +#ifdef _LP64 +#define INTPTR_MIN (-0x7fffffffffffffffL-1) /* intptr_t */ +#define INTPTR_MAX 0x7fffffffffffffffL /* intptr_t */ +#define UINTPTR_MAX 0xffffffffffffffffUL /* uintptr_t */ +#else #define INTPTR_MIN (-0x7fffffffL-1) /* intptr_t */ #define INTPTR_MAX 0x7fffffffL /* intptr_t */ #define UINTPTR_MAX 0xffffffffUL /* uintptr_t */ +#endif /* 7.18.2.5 Limits of greatest-width integer types */ @@ -114,14 +120,23 @@ */ /* limits of ptrdiff_t */ +#ifdef _LP64 +#define PTRDIFF_MIN (-0x7fffffffffffffffL-1) /* ptrdiff_t */ +#define PTRDIFF_MAX 0x7fffffffffffffffL /* ptrdiff_t */ +#else #define PTRDIFF_MIN (-0x7fffffffL-1) /* ptrdiff_t */ #define PTRDIFF_MAX 0x7fffffffL /* ptrdiff_t */ +#endif /* limits of sig_atomic_t */ #define SIG_ATOMIC_MIN (-0x7fffffff-1) /* sig_atomic_t */ #define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */ /* limit of size_t */ +#ifdef _LP64 +#define SIZE_MAX 0xffffffffffffffffUL /* size_t */ +#else #define SIZE_MAX 0xffffffffUL /* size_t */ +#endif #endif /* !_ARM_INT_LIMITS_H_ */ Index: src/sys/arch/arm/include/int_mwgwtypes.h diff -u src/sys/arch/arm/include/int_mwgwtypes.h:1.4 src/sys/arch/arm/include/int_mwgwtypes.h:1.5 --- src/sys/arch/arm/include/int_mwgwtypes.h:1.4 Mon Apr 28 20:23:14 2008 +++ src/sys/arch/arm/include/int_mwgwtypes.h Wed Jan 29 01:40:35 2014 @@ -1,11 +1,11 @@ -/* $NetBSD: int_mwgwtypes.h,v 1.4 2008/04/28 20:23:14 martin Exp $ */ +/* $NetBSD: int_mwgwtypes.h,v 1.5 2014/01/29 01:40:35 matt Exp $ */ /*- - * Copyright (c) 2001 The NetBSD Foundation, Inc. + * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation - * by Klaus Klein. + * by Matt Thomas of 3am Software Foundry. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -38,49 +38,92 @@ /* 7.18.1.2 Minimum-width integer types */ -typedef signed char int_least8_t; -typedef unsigned char uint_least8_t; -typedef short int int_least16_t; -typedef unsigned short int uint_least16_t; -typedef int int_least32_t; -typedef unsigned int uint_least32_t; -#ifdef __COMPILER_INT64__ -typedef __COMPILER_INT64__ int_least64_t; -typedef __COMPILER_UINT64__ uint_least64_t; -#else -/* LONGLONG */ -typedef long long int int_least64_t; -/* LONGLONG */ -typedef unsigned long long int uint_least64_t; +#ifndef __INT_LEAST8_TYPE__ +# define __INT_LEAST8_TYPE__ signed char +#endif +#ifndef __UINT_LEAST8_TYPE__ +# define __UINT_LEAST8_TYPE__ unsigned char +#endif +#ifndef __INT_LEAST16_TYPE__ +# define __INT_LEAST16_TYPE__ short int +#endif +#ifndef __UINT_LEAST16_TYPE__ +# define __UINT_LEAST16_TYPE__ short unsigned int +#endif +#ifndef __INT_LEAST32_TYPE__ +# define __INT_LEAST32_TYPE__ int +#endif +#ifndef __UINT_LEAST32_TYPE__ +# define __UINT_LEAST32_TYPE__ unsigned int #endif +#ifndef __INT_LEAST64_TYPE__ +# define __INT_LEAST64_TYPE__ long long int +#endif +#ifndef __UINT_LEAST64_TYPE__ +# define __UINT_LEAST64_TYPE__ long long unsigned int +#endif + +typedef __INT_LEAST8_TYPE__ int_least8_t; +typedef __UINT_LEAST8_TYPE__ uint_least8_t; +typedef __INT_LEAST16_TYPE__ int_least16_t; +typedef __UINT_LEAST16_TYPE__ uint_least16_t; +typedef __INT_LEAST32_TYPE__ int_least32_t; +typedef __UINT_LEAST32_TYPE__ uint_least32_t; +typedef __INT_LEAST64_TYPE__ int_least64_t; +typedef __UINT_LEAST64_TYPE__ uint_least64_t; /* 7.18.1.3 Fastest minimum-width integer types */ -typedef int int_fast8_t; -typedef unsigned int uint_fast8_t; -typedef int int_fast16_t; -typedef unsigned int uint_fast16_t; -typedef int int_fast32_t; -typedef unsigned int uint_fast32_t; -#ifdef __COMPILER_INT64__ -typedef __COMPILER_INT64__ int_fast64_t; -typedef __COMPILER_UINT64__ uint_fast64_t; + +#ifdef _LP64 +#define __INT_FAST_PREFIX__ long #else -/* LONGLONG */ -typedef long long int int_fast64_t; -/* LONGLONG */ -typedef unsigned long long int uint_fast64_t; +#define __INT_FAST_PREFIX__ #endif +#ifndef __INT_FAST8_TYPE__ +# define __INT_FAST8_TYPE__ __INT_FAST_PREFIX__ int +#endif +#ifndef __UINT_FAST8_TYPE__ +# define __UINT_FAST8_TYPE__ __INT_FAST_PREFIX__ unsigned int +#endif +#ifndef __INT_FAST16_TYPE__ +# define __INT_FAST16_TYPE__ __INT_FAST_PREFIX__ int +#endif +#ifndef __UINT_FAST16_TYPE__ +# define __UINT_FAST16_TYPE__ __INT_FAST_PREFIX__ unsigned int +#endif +#ifndef __INT_FAST32_TYPE__ +# define __INT_FAST32_TYPE__ __INT_FAST_PREFIX__ int +#endif +#ifndef __UINT_FAST32_TYPE__ +# define __UINT_FAST32_TYPE__ __INT_FAST_PREFIX__ unsigned int +#endif +#ifndef __INT_FAST64_TYPE__ +# define __INT_FAST64_TYPE__ long long int +#endif +#ifndef __UINT_FAST64_TYPE__ +# define __UINT_FAST64_TYPE__ long long unsigned int +#endif + +typedef __INT_FAST8_TYPE__ int_fast8_t; +typedef __UINT_FAST8_TYPE__ uint_fast8_t; +typedef __INT_FAST16_TYPE__ int_fast16_t; +typedef __UINT_FAST16_TYPE__ uint_fast16_t; +typedef __INT_FAST32_TYPE__ int_fast32_t; +typedef __UINT_FAST32_TYPE__ uint_fast32_t; +typedef __INT_FAST64_TYPE__ int_fast64_t; +typedef __UINT_FAST64_TYPE__ uint_fast64_t; + /* 7.18.1.5 Greatest-width integer types */ -#ifdef __COMPILER_INT64__ -typedef __COMPILER_INT64__ intmax_t; -typedef __COMPILER_UINT64__ uintmax_t; -#else -/* LONGLONG */ -typedef long long int intmax_t; -/* LONGLONG */ -typedef unsigned long long int uintmax_t; +#ifndef __INTMAX_TYPE__ +# define __INTMAX_TYPE__ long long int #endif +#ifndef __UINTMAX_TYPE__ +# define __UINTMAX_TYPE__ unsigned __INTMAX_TYPE__ +#endif + +typedef __INTMAX_TYPE__ intmax_t; +typedef __UINTMAX_TYPE__ uintmax_t; #endif /* !_ARM_INT_MWGWTYPES_H_ */ Index: src/sys/arch/arm/include/int_types.h diff -u src/sys/arch/arm/include/int_types.h:1.10 src/sys/arch/arm/include/int_types.h:1.11 --- src/sys/arch/arm/include/int_types.h:1.10 Wed Jan 29 00:42:15 2014 +++ src/sys/arch/arm/include/int_types.h Wed Jan 29 01:40:35 2014 @@ -1,9 +1,12 @@ -/* $NetBSD: int_types.h,v 1.10 2014/01/29 00:42:15 matt Exp $ */ +/* $NetBSD: int_types.h,v 1.11 2014/01/29 01:40:35 matt Exp $ */ -/* - * Copyright (c) 1990 The Regents of the University of California. +/*- + * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,23 +15,18 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. * - * from: @(#)types.h 7.5 (Berkeley) 3/9/91 + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _ARM_INT_TYPES_H_ @@ -42,27 +40,37 @@ /* 7.18.1.1 Exact-width integer types */ -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short int __int16_t; -typedef unsigned short int __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __COMPILER_INT64__ -typedef __COMPILER_INT64__ __int64_t; -typedef __COMPILER_UINT64__ __uint64_t; -#else -/* LONGLONG */ -typedef long long int __int64_t; -/* LONGLONG */ -typedef unsigned long long int __uint64_t; +#ifndef __INT8_TYPE__ +# define __INT8_TYPE__ char +#endif +#ifndef __INT16_TYPE__ +# define __INT16_TYPE__ short int +#endif +#ifndef __INT32_TYPE__ +# define __INT32_TYPE__ int #endif +#ifndef __INT64_TYPE__ +# define __INT64_TYPE__ long long int +#endif + +typedef signed __INT8_TYPE__ __int8_t; +typedef unsigned __INT8_TYPE__ __uint8_t; +typedef signed __INT16_TYPE__ __int16_t; +typedef unsigned __INT16_TYPE__ __uint16_t; +typedef signed __INT32_TYPE__ __int32_t; +typedef unsigned __INT32_TYPE__ __uint32_t; +typedef signed __INT64_TYPE__ __int64_t; +typedef unsigned __INT64_TYPE__ __uint64_t; #define __BIT_TYPES_DEFINED__ /* 7.18.1.4 Integer types capable of holding object pointers */ -typedef long int __intptr_t; -typedef unsigned long int __uintptr_t; +#ifndef __INTPTR_TYPE__ +# define __INTPTR_TYPE__ long int +#endif + +typedef signed __INTPTR_TYPE__ __intptr_t; +typedef unsigned __INTPTR_TYPE__ __uintptr_t; #endif /* !_ARM_INT_TYPES_H_ */ Index: src/sys/arch/arm/include/limits.h diff -u src/sys/arch/arm/include/limits.h:1.16 src/sys/arch/arm/include/limits.h:1.17 --- src/sys/arch/arm/include/limits.h:1.16 Wed Jan 29 00:42:15 2014 +++ src/sys/arch/arm/include/limits.h Wed Jan 29 01:40:35 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: limits.h,v 1.16 2014/01/29 00:42:15 matt Exp $ */ +/* $NetBSD: limits.h,v 1.17 2014/01/29 01:40:35 matt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. @@ -50,9 +50,15 @@ #define INT_MAX 0x7fffffff /* max value for an int */ #define INT_MIN (-0x7fffffff-1) /* min value for an int */ +#ifdef _LP64 +#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */ +#define LONG_MAX 0x7fffffffffffffffL /* max signed long */ +#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */ +#else #define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ #define LONG_MAX 0x7fffffffL /* max value for a long */ #define LONG_MIN (-0x7fffffffL-1) /* min value for a long */ +#endif #if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ defined(_NETBSD_SOURCE) @@ -77,16 +83,27 @@ #endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */ #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) +#ifdef _LP64 +#define LONG_BIT 64 +#else #define LONG_BIT 32 +#endif #define WORD_BIT 32 -#define DBL_DIG 15 -#define DBL_MAX 1.7976931348623157E+308 -#define DBL_MIN 2.2250738585072014E-308 - -#define FLT_DIG 6 -#define FLT_MAX 3.40282347E+38F -#define FLT_MIN 1.17549435E-38F +#define DBL_DIG __DBL_DIG__ +#define DBL_MAX __DBL_MAX__ +#define DBL_MIN __DBL_MIN__ + +#define FLT_DIG __FLT_DIG__ +#define FLT_MAX __FLT_MAX__ +#define FLT_MIN __FLT_MIN__ + +#ifdef __ARM_PCS_AAPCS64 +#define LDBL_DIG __LDBL_DIG__ +#define LDBL_MAX __LDBL_MAX__ +#define LDBL_MIN __LDBL_MIN__ #endif +#endif /* _XOPEN_SOURCE || _NETBSD_SOURCE */ + #endif /* _ARM_LIMITS_H_ */