mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 11:00:04 +08:00
50f799240e
* libc/include/stdint.h: Include <sys/_intsup.h>. (__STDINT_EXP): Delete. (__have_long32): Likewise. (__have_long64): Likewise. (__have_longlong64): Likewise. * libc/include/sys/_intsup.h: New file. (__STDINT_EXP): Move from libc/include/stdint.h. (__have_long32): Likewise. (__have_long64): Likewise. (__have_longlong64): Likewise. * libc/include/inttypes.h: Include <sys/_intsup.h>. (__INTTYPES_EXP): Delete and use __STDINT_EXP() instead.
37 lines
985 B
C
37 lines
985 B
C
/*
|
|
* Copyright (c) 2004, 2005 by
|
|
* Ralf Corsepius, Ulm/Germany. All rights reserved.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software
|
|
* is freely granted, provided that this notice is preserved.
|
|
*/
|
|
|
|
#ifndef _SYS__INTSUP_H
|
|
#define _SYS__INTSUP_H
|
|
|
|
#include <sys/features.h>
|
|
|
|
#if __GNUC_PREREQ (3, 2)
|
|
/* gcc > 3.2 implicitly defines the values we are interested */
|
|
#define __STDINT_EXP(x) __##x##__
|
|
#else
|
|
#define __STDINT_EXP(x) x
|
|
#include <limits.h>
|
|
#endif
|
|
|
|
/* Check if "long long" is 64bit wide */
|
|
/* Modern GCCs provide __LONG_LONG_MAX__, SUSv3 wants LLONG_MAX */
|
|
#if ( defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) ) \
|
|
|| ( defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) )
|
|
#define __have_longlong64 1
|
|
#endif
|
|
|
|
/* Check if "long" is 64bit or 32bit wide */
|
|
#if __STDINT_EXP(LONG_MAX) > 0x7fffffff
|
|
#define __have_long64 1
|
|
#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__)
|
|
#define __have_long32 1
|
|
#endif
|
|
|
|
#endif /* _SYS__INTSUP_H */
|