summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2013-11-17 21:56:07 (GMT)
committerGregory P. Smith <greg@krypto.org>2013-11-17 21:56:07 (GMT)
commit7929a1da1a6d18894210ff82f6107e51d7566bb0 (patch)
treed15e4b8cc55ada1bed34d6229da2e301779997fe
parent76edd2110dc4f08460eb02456c65c6ce2eb43559 (diff)
downloadcpython-7929a1da1a6d18894210ff82f6107e51d7566bb0.zip
cpython-7929a1da1a6d18894210ff82f6107e51d7566bb0.tar.gz
cpython-7929a1da1a6d18894210ff82f6107e51d7566bb0.tar.bz2
Fix compilation error under gcc of the ctypes module bundled libffi for arm.
A variable was declared below the top of a block and one function was using a K&R C style function declaration!
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_ctypes/libffi/src/arm/ffi.c14
2 files changed, 9 insertions, 7 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 4c0109d..c30c6bc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,8 @@ Core and Builtins
Library
-------
+- Fix compilation error under gcc of the ctypes module bundled libffi for arm.
+
- Issue #19523: Closed FileHandler leak which occurred when delay was set.
- Issue #13674: Prevented time.strftime from crashing on Windows when given
diff --git a/Modules/_ctypes/libffi/src/arm/ffi.c b/Modules/_ctypes/libffi/src/arm/ffi.c
index 3ccceb9..7fd7f44 100644
--- a/Modules/_ctypes/libffi/src/arm/ffi.c
+++ b/Modules/_ctypes/libffi/src/arm/ffi.c
@@ -221,11 +221,11 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
|| cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
+ unsigned int temp;
+
ecif.cif = cif;
ecif.avalue = avalue;
- unsigned int temp;
-
/* If the return value is a struct and we don't have a return */
/* value address then we need to make one */
@@ -278,11 +278,11 @@ void ffi_closure_VFP (ffi_closure *);
/* This function is jumped to by the trampoline */
unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
- ffi_closure *closure;
- void **respp;
- void *args;
- void *vfp_args;
+ffi_closure_SYSV_inner(
+ ffi_closure *closure,
+ void **respp,
+ void *args,
+ void *vfp_args)
{
// our various things...
ffi_cif *cif;