mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
Rationalize use of limits.h, moving the inclusion to Python.h.
Add definitions of INT_MAX and LONG_MAX to pyport.h. Remove includes of limits.h and conditional definitions of INT_MAX and LONG_MAX elsewhere. This closes SourceForge patch #101659 and bug #115323.
This commit is contained in:
parent
1b6185941e
commit
d5fadf75e4
25 changed files with 42 additions and 133 deletions
|
|
@ -23,6 +23,10 @@
|
|||
#include "patchlevel.h"
|
||||
#include "config.h"
|
||||
|
||||
#ifdef HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
/* config.h may or may not define DL_IMPORT */
|
||||
#ifndef DL_IMPORT /* declarations for DLL import/export */
|
||||
#define DL_IMPORT(RTYPE) RTYPE
|
||||
|
|
|
|||
|
|
@ -24,14 +24,7 @@ extern DL_IMPORT(void *) PyLong_AsVoidPtr(PyObject *);
|
|||
|
||||
#ifdef HAVE_LONG_LONG
|
||||
|
||||
#ifdef HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
/* Hopefully this is portable... */
|
||||
#ifndef LONG_MAX
|
||||
#define LONG_MAX 2147483647L
|
||||
#endif
|
||||
#ifndef ULONG_MAX
|
||||
#define ULONG_MAX 4294967295U
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -354,6 +354,38 @@ typedef struct fd_set {
|
|||
#endif /* fd manipulation macros */
|
||||
|
||||
|
||||
/* limits.h constants that may be missing */
|
||||
|
||||
#ifndef INT_MAX
|
||||
#define INT_MAX 2147483647
|
||||
#endif
|
||||
|
||||
#ifndef LONG_MAX
|
||||
#if SIZEOF_LONG == 4
|
||||
#define LONG_MAX 0X7FFFFFFFL
|
||||
#elif SIZEOF_LONG == 8
|
||||
#define LONG_MAX 0X7FFFFFFFFFFFFFFFL
|
||||
#else
|
||||
#error "could not set LONG_MAX in pyport.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef LONG_MIN
|
||||
#define LONG_MIN (-LONG_MAX-1)
|
||||
#endif
|
||||
|
||||
#ifdef __NeXT__
|
||||
#ifdef __sparc__
|
||||
/*
|
||||
* This works around a bug in the NS/Sparc 3.3 pre-release
|
||||
* limits.h header file.
|
||||
* 10-Feb-1995 bwarsaw@cnri.reston.va.us
|
||||
*/
|
||||
#undef LONG_MIN
|
||||
#define LONG_MIN (-LONG_MAX-1)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue