2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / libgo / runtime / go-type-error.c
blob8881a86f6e09b9bf083fd8f1918908793ca15de0
1 /* go-type-error.c -- invalid hash and equality functions.
3 Copyright 2009 The Go Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style
5 license that can be found in the LICENSE file. */
7 #include "runtime.h"
8 #include "go-type.h"
10 /* A hash function used for a type which does not support hash
11 functions. */
13 uintptr_t
14 __go_type_hash_error (const void *val __attribute__ ((unused)),
15 uintptr_t key_size __attribute__ ((unused)))
17 runtime_panicstring ("hash of unhashable type");
20 const FuncVal __go_type_hash_error_descriptor =
21 { (void *) __go_type_hash_error };
23 /* An equality function for an interface. */
25 _Bool
26 __go_type_equal_error (const void *v1 __attribute__ ((unused)),
27 const void *v2 __attribute__ ((unused)),
28 uintptr_t key_size __attribute__ ((unused)))
30 runtime_panicstring ("comparing uncomparable types");
33 const FuncVal __go_type_equal_error_descriptor =
34 { (void *) __go_type_equal_error };