[New-bugs-announce] [issue1512] Removal of stale code in pyconfig.h

Joseph Armbruster report at bugs.python.org
Wed Nov 28 15:14:07 CET 2007


New submission from Joseph Armbruster:

Question:  Is there any harm in removing this block from pyconfig.h?

#ifndef PY_LONG_LONG
#	define PY_LONG_LONG __int64
#	define PY_LLONG_MAX _I64_MAX
#	define PY_LLONG_MIN _I64_MIN
#	define PY_ULLONG_MAX _UI64_MAX
#endif

pyconfig.h contains this small snippet:

/* 64 bit ints are usually spelt __int64 unless compiler has overridden */
#define HAVE_LONG_LONG 1
#ifndef PY_LONG_LONG
#	define PY_LONG_LONG __int64
#	define PY_LLONG_MAX _I64_MAX
#	define PY_LLONG_MIN _I64_MIN
#	define PY_ULLONG_MAX _UI64_MAX
#endif


However, in pyport.h, I can see that PY_LONG_LONG may also be defined
here, except the tokens are slightly different:


#ifdef HAVE_LONG_LONG

	#ifndef PY_LONG_LONG
		#define PY_LONG_LONG long long
		
		#if defined(LLONG_MAX)
			/* If LLONG_MAX is defined in limits.h, use that. */
			#define PY_LLONG_MIN LLONG_MIN
			#define PY_LLONG_MAX LLONG_MAX
			#define PY_ULLONG_MAX ULLONG_MAX
		#elif defined(__LONG_LONG_MAX__)
			/* Otherwise, if GCC has a builtin define, use that. */
			#define PY_LLONG_MAX __LONG_LONG_MAX__
			#define PY_LLONG_MIN (-PY_LLONG_MAX-1)
			#define PY_ULLONG_MAX (__LONG_LONG_MAX__*2ULL + 1ULL)
		#else
			/* Otherwise, rely on two's complement. */
			#define PY_ULLONG_MAX (~0ULL)
			#define PY_LLONG_MAX  ((long long)(PY_ULLONG_MAX>>1))
			#define PY_LLONG_MIN (-PY_LLONG_MAX-1)
		#endif /* LLONG_MAX */
	#endif
#endif /* HAVE_LONG_LONG */

----------
components: Build
messages: 57913
nosy: JosephArmbruster, tiran
severity: minor
status: open
title: Removal of stale code in pyconfig.h
versions: Python 3.0

__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue1512>
__________________________________


More information about the New-bugs-announce mailing list