This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
libgo patch committed: Fix reflect.Call
- From: Ian Lance Taylor <iant at google dot com>
- To: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Fri, 02 Nov 2012 16:17:08 -0700
- Subject: libgo patch committed: Fix reflect.Call
Part of my initial 64-bit support patch was bogus: I shadowed a variable
in a couple of functions used for reflect.Call. This patch fixes it.
Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Committed to mainline.
Ian
diff -r cecca11207b7 libgo/runtime/go-reflect-call.c
--- a/libgo/runtime/go-reflect-call.c Thu Nov 01 14:42:39 2012 -0700
+++ b/libgo/runtime/go-reflect-call.c Fri Nov 02 16:15:20 2012 -0700
@@ -75,15 +75,15 @@
const struct __go_slice_type *descriptor __attribute__ ((unused)))
{
ffi_type *ret;
- ffi_type *intgo;
+ ffi_type *ffi_intgo;
ret = (ffi_type *) __go_alloc (sizeof (ffi_type));
ret->type = FFI_TYPE_STRUCT;
ret->elements = (ffi_type **) __go_alloc (4 * sizeof (ffi_type *));
ret->elements[0] = &ffi_type_pointer;
- intgo = sizeof (intgo) == 4 ? &ffi_type_sint32 : &ffi_type_sint64;
- ret->elements[1] = intgo;
- ret->elements[2] = intgo;
+ ffi_intgo = sizeof (intgo) == 4 ? &ffi_type_sint32 : &ffi_type_sint64;
+ ret->elements[1] = ffi_intgo;
+ ret->elements[2] = ffi_intgo;
ret->elements[3] = NULL;
return ret;
}
@@ -117,14 +117,14 @@
go_string_to_ffi (void)
{
ffi_type *ret;
- ffi_type *intgo;
+ ffi_type *ffi_intgo;
ret = (ffi_type *) __go_alloc (sizeof (ffi_type));
ret->type = FFI_TYPE_STRUCT;
ret->elements = (ffi_type **) __go_alloc (3 * sizeof (ffi_type *));
ret->elements[0] = &ffi_type_pointer;
- intgo = sizeof (intgo) == 4 ? &ffi_type_sint32 : &ffi_type_sint64;
- ret->elements[1] = intgo;
+ ffi_intgo = sizeof (intgo) == 4 ? &ffi_type_sint32 : &ffi_type_sint64;
+ ret->elements[1] = ffi_intgo;
ret->elements[2] = NULL;
return ret;
}