aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-05-06 20:06:29 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-05-06 20:06:29 +0000
commit4e7e7a49b760bc46bf0ade36c25a7d8e088b6dea (patch)
treea04353390cbd4dbceb299c20d4a3c6ae273157b8 /libgo/runtime
parentc81e79b590707957ae3dd2ac872aebba7ad8a46e (diff)
downloadgcc-4e7e7a49b760bc46bf0ade36c25a7d8e088b6dea.zip
gcc-4e7e7a49b760bc46bf0ade36c25a7d8e088b6dea.tar.gz
gcc-4e7e7a49b760bc46bf0ade36c25a7d8e088b6dea.tar.bz2
More uses of backend interface for types.
From-SVN: r173507
Diffstat (limited to 'libgo/runtime')
-rw-r--r--libgo/runtime/channel.h3
-rw-r--r--libgo/runtime/go-map-index.c6
-rw-r--r--libgo/runtime/go-map-len.c2
-rw-r--r--libgo/runtime/go-map-range.c2
-rw-r--r--libgo/runtime/go-new-map.c4
-rw-r--r--libgo/runtime/map.h11
6 files changed, 16 insertions, 12 deletions
diff --git a/libgo/runtime/channel.h b/libgo/runtime/channel.h
index ac79174..9dcaf7f 100644
--- a/libgo/runtime/channel.h
+++ b/libgo/runtime/channel.h
@@ -74,6 +74,9 @@ struct __go_channel
uint64_t data[];
};
+/* Try to link up with the structure generated by the frontend. */
+typedef struct __go_channel __go_channel;
+
/* The mutex used to control access to the value pointed to by the
__go_channel_select selected field. No additional mutexes may be
acquired while this mutex is held. */
diff --git a/libgo/runtime/go-map-index.c b/libgo/runtime/go-map-index.c
index 1561c97..02a0f73 100644
--- a/libgo/runtime/go-map-index.c
+++ b/libgo/runtime/go-map-index.c
@@ -21,11 +21,11 @@ __go_map_rehash (struct __go_map *map)
size_t key_offset;
size_t key_size;
size_t (*hashfn) (const void *, size_t);
- size_t old_bucket_count;
+ uintptr_t old_bucket_count;
void **old_buckets;
- size_t new_bucket_count;
+ uintptr_t new_bucket_count;
void **new_buckets;
- size_t i;
+ uintptr_t i;
descriptor = map->__descriptor;
diff --git a/libgo/runtime/go-map-len.c b/libgo/runtime/go-map-len.c
index 01df5b4..a8922b9 100644
--- a/libgo/runtime/go-map-len.c
+++ b/libgo/runtime/go-map-len.c
@@ -18,6 +18,6 @@ __go_map_len (struct __go_map *map)
{
if (map == NULL)
return 0;
- __go_assert (map->__element_count == (size_t) (int) map->__element_count);
+ __go_assert (map->__element_count == (uintptr_t) (int) map->__element_count);
return map->__element_count;
}
diff --git a/libgo/runtime/go-map-range.c b/libgo/runtime/go-map-range.c
index 364cda9..54444bc 100644
--- a/libgo/runtime/go-map-range.c
+++ b/libgo/runtime/go-map-range.c
@@ -34,7 +34,7 @@ __go_mapiternext (struct __go_hash_iter *it)
if (entry == NULL)
{
const struct __go_map *map;
- size_t bucket;
+ uintptr_t bucket;
map = it->map;
bucket = it->bucket;
diff --git a/libgo/runtime/go-new-map.c b/libgo/runtime/go-new-map.c
index 73e8d7d..3a47129 100644
--- a/libgo/runtime/go-new-map.c
+++ b/libgo/runtime/go-new-map.c
@@ -73,8 +73,8 @@ static const unsigned long prime_list[] = /* 256 + 1 or 256 + 48 + 1 */
/* Return the next number from PRIME_LIST >= N. */
-unsigned long
-__go_map_next_prime (unsigned long n)
+uintptr_t
+__go_map_next_prime (uintptr_t n)
{
size_t low;
size_t high;
diff --git a/libgo/runtime/map.h b/libgo/runtime/map.h
index 9c3fda2..40c31f8 100644
--- a/libgo/runtime/map.h
+++ b/libgo/runtime/map.h
@@ -1,10 +1,11 @@
/* map.h -- the map type for Go.
- Copyright 2009, 2010 The Go Authors. All rights reserved.
+ Copyright 2009 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 <stddef.h>
+#include <stdint.h>
#include "go-type.h"
@@ -38,10 +39,10 @@ struct __go_map
const struct __go_map_descriptor *__descriptor;
/* The number of elements in the hash table. */
- size_t __element_count;
+ uintptr_t __element_count;
/* The number of entries in the __buckets array. */
- size_t __bucket_count;
+ uintptr_t __bucket_count;
/* Each bucket is a pointer to a linked list of map entries. */
void **__buckets;
@@ -64,13 +65,13 @@ struct __go_hash_iter
all the entries in the current bucket. */
const void *next_entry;
/* The bucket index of the current and next entry. */
- size_t bucket;
+ uintptr_t bucket;
};
extern struct __go_map *__go_new_map (const struct __go_map_descriptor *,
uintptr_t);
-extern unsigned long __go_map_next_prime (unsigned long);
+extern uintptr_t __go_map_next_prime (uintptr_t);
extern void *__go_map_index (struct __go_map *, const void *, _Bool);