]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
runtime: Drop reflectFlags tests.
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 11 Jul 2014 00:26:25 +0000 (00:26 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 11 Jul 2014 00:26:25 +0000 (00:26 +0000)
The flags were used by the reflect package in the past, but
not for a couple of years now.

From-SVN: r212446

libgo/runtime/go-eface-compare.c
libgo/runtime/go-eface-val-compare.c
libgo/runtime/go-interface-eface-compare.c
libgo/runtime/go-type-eface.c
libgo/runtime/go-type.h
libgo/runtime/iface.goc
libgo/runtime/reflect.goc

index e738efced80a6bb2b31721894ba7ad70e696404e..3555a65d9ccbe77a5961c081c80807ed74004351 100644 (file)
@@ -19,10 +19,6 @@ __go_empty_interface_compare (struct __go_empty_interface left,
 
   left_descriptor = left.__type_descriptor;
 
-  if (((uintptr_t) left_descriptor & reflectFlags) != 0
-      || ((uintptr_t) right.__type_descriptor & reflectFlags) != 0)
-    runtime_panicstring ("invalid interface value");
-
   if (left_descriptor == NULL && right.__type_descriptor == NULL)
     return 0;
   if (left_descriptor == NULL || right.__type_descriptor == NULL)
index 454ea3ebae9fe197dc5e14c0b97932a9ece3a07a..743f126ec1e4c4794d39406789a0efe7caec6903 100644 (file)
@@ -20,8 +20,6 @@ __go_empty_interface_value_compare (
   const struct __go_type_descriptor *left_descriptor;
 
   left_descriptor = left.__type_descriptor;
-  if (((uintptr_t) left_descriptor & reflectFlags) != 0)
-    runtime_panicstring ("invalid interface value");
   if (left_descriptor == NULL)
     return 1;
   if (!__go_type_descriptors_equal (left_descriptor, right_descriptor))
index bb81ff813a607a50919bc456370d404a2f359483..a38917fd0c6d60bdedd59a8571f145fed3f92b55 100644 (file)
@@ -18,8 +18,6 @@ __go_interface_empty_compare (struct __go_interface left,
 {
   const struct __go_type_descriptor *left_descriptor;
 
-  if (((uintptr_t) right.__type_descriptor & reflectFlags) != 0)
-    runtime_panicstring ("invalid interface value");
   if (left.__methods == NULL && right.__type_descriptor == NULL)
     return 0;
   if (left.__methods == NULL || right.__type_descriptor == NULL)
index cb3424b98d31eb367abdc27570372e68d6952de1..30614d25112540e2d9bce150e30062aa5fa34ba9 100644 (file)
@@ -44,9 +44,6 @@ __go_type_equal_empty_interface (const void *vv1, const void *vv2,
   v2 = (const struct __go_empty_interface *) vv2;
   v1_descriptor = v1->__type_descriptor;
   v2_descriptor = v2->__type_descriptor;
-  if (((uintptr_t) v1_descriptor & reflectFlags) != 0
-      || ((uintptr_t) v2_descriptor & reflectFlags) != 0)
-    runtime_panicstring ("invalid interface value");
   if (v1_descriptor == NULL || v2_descriptor == NULL)
     return v1_descriptor == v2_descriptor;
   if (!__go_type_descriptors_equal (v1_descriptor, v2_descriptor))
index fa355ce3d2fbeb9303697084ff34ee66a6e774cd..51c2355772d2373d1153c2b96998fe9ad929847f 100644 (file)
@@ -302,15 +302,6 @@ struct __go_struct_type
   struct __go_open_array __fields;
 };
 
-/* If an empty interface has these bits set in its type pointer, it
-   was copied from a reflect.Value and is not a valid empty
-   interface.  */
-
-enum 
-{
-  reflectFlags = 3,
-};
-
 /* Whether a type descriptor is a pointer.  */
 
 static inline _Bool
index 7c74e80ac3abf65631527b54cb1b3d959e0a6143..0d5cb5e97aa01fbf72136fb9d9f8febb85a84770 100644 (file)
@@ -32,8 +32,6 @@ func ifacetype(i interface) (d *const_descriptor) {
 
 // Convert an empty interface to an empty interface.
 func ifaceE2E2(e empty_interface) (ret empty_interface, ok bool) {
-       if(((uintptr_t)e.__type_descriptor&reflectFlags) != 0)
-               runtime_panicstring("invalid interface value");
        ret = e;
        ok = ret.__type_descriptor != nil;
 }
@@ -53,8 +51,6 @@ func ifaceI2E2(i interface) (ret empty_interface, ok bool) {
 
 // Convert an empty interface to a non-empty interface.
 func ifaceE2I2(inter *descriptor, e empty_interface) (ret interface, ok bool) {
-       if(((uintptr_t)e.__type_descriptor&reflectFlags) != 0)
-               runtime_panicstring("invalid interface value");
        if (e.__type_descriptor == nil) {
                ret.__methods = nil;
                ret.__object = nil;
@@ -84,8 +80,6 @@ func ifaceI2I2(inter *descriptor, i interface) (ret interface, ok bool) {
 
 // Convert an empty interface to a pointer type.
 func ifaceE2T2P(inter *descriptor, e empty_interface) (ret *void, ok bool) {
-       if(((uintptr_t)e.__type_descriptor&reflectFlags) != 0)
-               runtime_panicstring("invalid interface value");
        if (!__go_type_descriptors_equal(inter, e.__type_descriptor)) {
                ret = nil;
                ok = 0;
@@ -109,8 +103,6 @@ func ifaceI2T2P(inter *descriptor, i interface) (ret *void, ok bool) {
 
 // Convert an empty interface to a non-pointer type.
 func ifaceE2T2(inter *descriptor, e empty_interface, ret *void) (ok bool) {
-       if(((uintptr_t)e.__type_descriptor&reflectFlags) != 0)
-               runtime_panicstring("invalid interface value");
        if (!__go_type_descriptors_equal(inter, e.__type_descriptor)) {
                __builtin_memset(ret, 0, inter->__size);
                ok = 0;
index c798b269e0fd4f8e44576371f7a29b4a7ef1a128..4e493ee810a1ebced4023b58bd9bf67155a8910e 100644 (file)
@@ -12,8 +12,6 @@ func ifaceE2I(inter *Type, e Eface, ret *Iface) {
        const Type *t;
        Eface err;
 
-       if(((uintptr)e.__type_descriptor&reflectFlags) != 0)
-               runtime_throw("invalid interface value");
        t = e.__type_descriptor;
        if(t == nil) {
                // explicit conversions require non-nil interface value.