summaryrefslogtreecommitdiff
path: root/libgo/runtime/go-type-eface.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime/go-type-eface.c')
-rw-r--r--libgo/runtime/go-type-eface.c62
1 files changed, 0 insertions, 62 deletions
diff --git a/libgo/runtime/go-type-eface.c b/libgo/runtime/go-type-eface.c
deleted file mode 100644
index 315c30efb7..0000000000
--- a/libgo/runtime/go-type-eface.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* go-type-eface.c -- hash and equality empty interface functions.
-
- Copyright 2010 The Go Authors. All rights reserved.
- Use of this source code is governed by a BSD-style
- license that can be found in the LICENSE file. */
-
-#include "runtime.h"
-#include "interface.h"
-#include "go-type.h"
-
-/* A hash function for an empty interface. */
-
-uintptr_t
-__go_type_hash_empty_interface (const void *vval,
- uintptr_t key_size __attribute__ ((unused)))
-{
- const struct __go_empty_interface *val;
- const struct __go_type_descriptor *descriptor;
- uintptr_t size;
-
- val = (const struct __go_empty_interface *) vval;
- descriptor = val->__type_descriptor;
- if (descriptor == NULL)
- return 0;
- size = descriptor->__size;
- if (__go_is_pointer_type (descriptor))
- return __go_call_hashfn (descriptor->__hashfn, &val->__object, size);
- else
- return __go_call_hashfn (descriptor->__hashfn, val->__object, size);
-}
-
-const FuncVal __go_type_hash_empty_interface_descriptor =
- { (void *) __go_type_hash_empty_interface };
-
-/* An equality function for an empty interface. */
-
-_Bool
-__go_type_equal_empty_interface (const void *vv1, const void *vv2,
- uintptr_t key_size __attribute__ ((unused)))
-{
- const struct __go_empty_interface *v1;
- const struct __go_empty_interface *v2;
- const struct __go_type_descriptor* v1_descriptor;
- const struct __go_type_descriptor* v2_descriptor;
-
- v1 = (const struct __go_empty_interface *) vv1;
- v2 = (const struct __go_empty_interface *) vv2;
- v1_descriptor = v1->__type_descriptor;
- v2_descriptor = v2->__type_descriptor;
- if (v1_descriptor == NULL || v2_descriptor == NULL)
- return v1_descriptor == v2_descriptor;
- if (!__go_type_descriptors_equal (v1_descriptor, v2_descriptor))
- return 0;
- if (__go_is_pointer_type (v1_descriptor))
- return v1->__object == v2->__object;
- else
- return __go_call_equalfn (v1_descriptor->__equalfn, v1->__object,
- v2->__object, v1_descriptor->__size);
-}
-
-const FuncVal __go_type_equal_empty_interface_descriptor =
- { (void *) __go_type_equal_empty_interface };