Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kirill Smelkov
cpython
Commits
ce31f66a
Commit
ce31f66a
authored
12 years ago
by
Mark Dickinson
Browse files
Options
Download
Email Patches
Plain Diff
Issue 10052: fix failed uint32_t / uint64_t / int32_t / int64_t detection on some platforms.
parent
43fb54cd
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
93 additions
and
8 deletions
+93
-8
Include/pyport.h
Include/pyport.h
+21
-8
configure
configure
+40
-0
configure.ac
configure.ac
+20
-0
pyconfig.h.in
pyconfig.h.in
+12
-0
No files found.
Include/pyport.h
View file @
ce31f66a
...
...
@@ -87,9 +87,12 @@ Used in: PY_LONG_LONG
* uint32_t to be such a type unless stdint.h or inttypes.h defines uint32_t.
* However, it doesn't set HAVE_UINT32_T, so we do that here.
*/
#if (defined UINT32_MAX || defined uint32_t)
#ifndef PY_UINT32_T
#ifdef uint32_t
#define HAVE_UINT32_T 1
#endif
#ifdef HAVE_UINT32_T
#ifndef PY_UINT32_T
#define PY_UINT32_T uint32_t
#endif
#endif
...
...
@@ -97,23 +100,33 @@ Used in: PY_LONG_LONG
/* Macros for a 64-bit unsigned integer type; used for type 'twodigits' in the
* long integer implementation, when 30-bit digits are enabled.
*/
#if (defined UINT64_MAX || defined uint64_t)
#ifndef PY_UINT64_T
#ifdef uint64_t
#define HAVE_UINT64_T 1
#endif
#ifdef HAVE_UINT64_T
#ifndef PY_UINT64_T
#define PY_UINT64_T uint64_t
#endif
#endif
/* Signed variants of the above */
#if (defined INT32_MAX || defined int32_t)
#ifndef PY_INT32_T
#ifdef int32_t
#define HAVE_INT32_T 1
#endif
#ifdef HAVE_INT32_T
#ifndef PY_INT32_T
#define PY_INT32_T int32_t
#endif
#endif
#if (defined INT64_MAX || defined int64_t)
#if
n
def
PY_INT
64_
T
#ifdef
int
64_
t
#define HAVE_INT64_T 1
#endif
#ifdef HAVE_INT64_T
#ifndef PY_INT64_T
#define PY_INT64_T int64_t
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
configure
View file @
ce31f66a
...
...
@@ -6755,6 +6755,21 @@ $as_echo "#define gid_t int" >>confdefs.h
fi
# There are two separate checks for each of the exact-width integer types we
# need. First we check whether the type is available using the usual
# AC_CHECK_TYPE macro with the default includes (which includes <inttypes.h>
# and <stdint.h> where available). We then also use the special type checks of
# the form AC_TYPE_UINT32_T, which in the case that uint32_t is not available
# directly, #define's uint32_t to be a suitable type.
ac_fn_c_check_type
"
$LINENO
"
"uint32_t"
"ac_cv_type_uint32_t"
"
$ac_includes_default
"
if
test
"x
$ac_cv_type_uint32_t
"
=
xyes
;
then
:
$as_echo
"#define HAVE_UINT32_T 1"
>>
confdefs.h
fi
ac_fn_c_find_uintX_t
"
$LINENO
"
"32"
"ac_cv_c_uint32_t"
case
$ac_cv_c_uint32_t
in
#(
no|yes
)
;;
#(
...
...
@@ -6769,6 +6784,14 @@ _ACEOF
;;
esac
ac_fn_c_check_type
"
$LINENO
"
"uint64_t"
"ac_cv_type_uint64_t"
"
$ac_includes_default
"
if
test
"x
$ac_cv_type_uint64_t
"
=
xyes
;
then
:
$as_echo
"#define HAVE_UINT64_T 1"
>>
confdefs.h
fi
ac_fn_c_find_uintX_t
"
$LINENO
"
"64"
"ac_cv_c_uint64_t"
case
$ac_cv_c_uint64_t
in
#(
no|yes
)
;;
#(
...
...
@@ -6783,6 +6806,14 @@ _ACEOF
;;
esac
ac_fn_c_check_type
"
$LINENO
"
"int32_t"
"ac_cv_type_int32_t"
"
$ac_includes_default
"
if
test
"x
$ac_cv_type_int32_t
"
=
xyes
;
then
:
$as_echo
"#define HAVE_INT32_T 1"
>>
confdefs.h
fi
ac_fn_c_find_intX_t
"
$LINENO
"
"32"
"ac_cv_c_int32_t"
case
$ac_cv_c_int32_t
in
#(
no|yes
)
;;
#(
...
...
@@ -6794,6 +6825,14 @@ _ACEOF
;;
esac
ac_fn_c_check_type
"
$LINENO
"
"int64_t"
"ac_cv_type_int64_t"
"
$ac_includes_default
"
if
test
"x
$ac_cv_type_int64_t
"
=
xyes
;
then
:
$as_echo
"#define HAVE_INT64_T 1"
>>
confdefs.h
fi
ac_fn_c_find_intX_t
"
$LINENO
"
"64"
"ac_cv_c_int64_t"
case
$ac_cv_c_int64_t
in
#(
no|yes
)
;;
#(
...
...
@@ -6805,6 +6844,7 @@ _ACEOF
;;
esac
ac_fn_c_check_type
"
$LINENO
"
"ssize_t"
"ac_cv_type_ssize_t"
"
$ac_includes_default
"
if
test
"x
$ac_cv_type_ssize_t
"
=
xyes
;
then
:
...
...
This diff is collapsed.
Click to expand it.
configure.ac
View file @
ce31f66a
...
...
@@ -1469,10 +1469,30 @@ AC_TYPE_PID_T
AC_DEFINE_UNQUOTED([RETSIGTYPE],[void],[assume C89 semantics that RETSIGTYPE is always void])
AC_TYPE_SIZE_T
AC_TYPE_UID_T
# There are two separate checks for each of the exact-width integer types we
# need. First we check whether the type is available using the usual
# AC_CHECK_TYPE macro with the default includes (which includes <inttypes.h>
# and <stdint.h> where available). We then also use the special type checks of
# the form AC_TYPE_UINT32_T, which in the case that uint32_t is not available
# directly, #define's uint32_t to be a suitable type.
AC_CHECK_TYPE(uint32_t,
AC_DEFINE(HAVE_UINT32_T, 1, [Define if your compiler provides uint32_t.]),,)
AC_TYPE_UINT32_T
AC_CHECK_TYPE(uint64_t,
AC_DEFINE(HAVE_UINT64_T, 1, [Define if your compiler provides uint64_t.]),,)
AC_TYPE_UINT64_T
AC_CHECK_TYPE(int32_t,
AC_DEFINE(HAVE_INT32_T, 1, [Define if your compiler provides int32_t.]),,)
AC_TYPE_INT32_T
AC_CHECK_TYPE(int64_t,
AC_DEFINE(HAVE_INT64_T, 1, [Define if your compiler provides int64_t.]),,)
AC_TYPE_INT64_T
AC_CHECK_TYPE(ssize_t,
AC_DEFINE(HAVE_SSIZE_T, 1, [Define if your compiler provides ssize_t]),,)
...
...
This diff is collapsed.
Click to expand it.
pyconfig.h.in
View file @
ce31f66a
...
...
@@ -377,6 +377,12 @@
/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
/* Define if your compiler provides int32_t. */
#undef HAVE_INT32_T
/* Define if your compiler provides int64_t. */
#undef HAVE_INT64_T
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
...
...
@@ -863,6 +869,12 @@
/* Define this if you have tcl and TCL_UTF_MAX==6 */
#undef HAVE_UCS4_TCL
/* Define if your compiler provides uint32_t. */
#undef HAVE_UINT32_T
/* Define if your compiler provides uint64_t. */
#undef HAVE_UINT64_T
/* Define to 1 if the system has the type `uintptr_t'. */
#undef HAVE_UINTPTR_T
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment