diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-11 00:26:25 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-11 00:26:25 +0000 |
commit | 560e447d79eb3bb251c520ac63653afc2603499e (patch) | |
tree | 983ddb702bc48e4bb076ef6d435a60d099b51089 /libgo | |
parent | 08022e7f8c482ff4e619aa5e243b2454e0b40c19 (diff) | |
download | gcc-560e447d79eb3bb251c520ac63653afc2603499e.tar.gz |
runtime: Drop reflectFlags tests.
The flags were used by the reflect package in the past, but
not for a couple of years now.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212446 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/runtime/go-eface-compare.c | 4 | ||||
-rw-r--r-- | libgo/runtime/go-eface-val-compare.c | 2 | ||||
-rw-r--r-- | libgo/runtime/go-interface-eface-compare.c | 2 | ||||
-rw-r--r-- | libgo/runtime/go-type-eface.c | 3 | ||||
-rw-r--r-- | libgo/runtime/go-type.h | 9 | ||||
-rw-r--r-- | libgo/runtime/iface.goc | 8 | ||||
-rw-r--r-- | libgo/runtime/reflect.goc | 2 |
7 files changed, 0 insertions, 30 deletions
diff --git a/libgo/runtime/go-eface-compare.c b/libgo/runtime/go-eface-compare.c index e738efced80..3555a65d9cc 100644 --- a/libgo/runtime/go-eface-compare.c +++ b/libgo/runtime/go-eface-compare.c @@ -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) diff --git a/libgo/runtime/go-eface-val-compare.c b/libgo/runtime/go-eface-val-compare.c index 454ea3ebae9..743f126ec1e 100644 --- a/libgo/runtime/go-eface-val-compare.c +++ b/libgo/runtime/go-eface-val-compare.c @@ -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)) diff --git a/libgo/runtime/go-interface-eface-compare.c b/libgo/runtime/go-interface-eface-compare.c index bb81ff813a6..a38917fd0c6 100644 --- a/libgo/runtime/go-interface-eface-compare.c +++ b/libgo/runtime/go-interface-eface-compare.c @@ -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) diff --git a/libgo/runtime/go-type-eface.c b/libgo/runtime/go-type-eface.c index cb3424b98d3..30614d25112 100644 --- a/libgo/runtime/go-type-eface.c +++ b/libgo/runtime/go-type-eface.c @@ -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)) diff --git a/libgo/runtime/go-type.h b/libgo/runtime/go-type.h index fa355ce3d2f..51c2355772d 100644 --- a/libgo/runtime/go-type.h +++ b/libgo/runtime/go-type.h @@ -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 diff --git a/libgo/runtime/iface.goc b/libgo/runtime/iface.goc index 7c74e80ac3a..0d5cb5e97aa 100644 --- a/libgo/runtime/iface.goc +++ b/libgo/runtime/iface.goc @@ -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; diff --git a/libgo/runtime/reflect.goc b/libgo/runtime/reflect.goc index c798b269e0f..4e493ee810a 100644 --- a/libgo/runtime/reflect.goc +++ b/libgo/runtime/reflect.goc @@ -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. |