mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 12:29:32 +08:00
2014-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
* 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.
This commit is contained in:
parent
0613efefc7
commit
50f799240e
@ -1,3 +1,18 @@
|
||||
2014-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* 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.
|
||||
|
||||
2014-10-09 Freddie Chopin <freddie_chopin@op.pl>
|
||||
|
||||
* libc/string/memccpy.c (memccpy): Fix warning about signed-unsigned
|
||||
|
@ -13,20 +13,11 @@
|
||||
#ifndef _INTTYPES_H
|
||||
#define _INTTYPES_H
|
||||
|
||||
#include <sys/features.h>
|
||||
#include <sys/_intsup.h>
|
||||
#include <stdint.h>
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Don't use __STDINT_EXP test since GCC's stdint.h provides different
|
||||
macros than newlib's stdint.h. */
|
||||
#if __GNUC_PREREQ(3, 2)
|
||||
#define __INTTYPES_EXP(x) __##x##__
|
||||
#else
|
||||
#define __INTTYPES_EXP(x) x
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
#define __STRINGIFY(a) #a
|
||||
|
||||
/* 8-bit types */
|
||||
@ -252,10 +243,10 @@
|
||||
#define SCNxMAX __SCNMAX(x)
|
||||
|
||||
/* ptr types */
|
||||
#if PTRDIFF_MAX <= __INTTYPES_EXP(INT_MAX)
|
||||
#if PTRDIFF_MAX <= __STDINT_EXP(INT_MAX)
|
||||
# define __PRIPTR(x) __STRINGIFY(x)
|
||||
# define __SCNPTR(x) __STRINGIFY(x)
|
||||
#elif PTRDIFF_MAX <= __INTTYPES_EXP(LONG_MAX) || !defined(__have_longlong64)
|
||||
#elif PTRDIFF_MAX <= __STDINT_EXP(LONG_MAX) || !defined(__have_longlong64)
|
||||
# define __PRIPTR(x) __STRINGIFY(l##x)
|
||||
# define __SCNPTR(x) __STRINGIFY(l##x)
|
||||
#else
|
||||
|
@ -10,33 +10,12 @@
|
||||
#define _STDINT_H
|
||||
|
||||
#include <machine/_default_types.h>
|
||||
#include <sys/_intsup.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#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
|
||||
|
||||
#ifdef ___int8_t_defined
|
||||
typedef __int8_t int8_t ;
|
||||
typedef __uint8_t uint8_t ;
|
||||
|
36
newlib/libc/include/sys/_intsup.h
Normal file
36
newlib/libc/include/sys/_intsup.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 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 */
|
Loading…
x
Reference in New Issue
Block a user