diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-05-02 14:43:35 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-05-02 14:43:35 +0000 |
commit | 34efdaf078b01a7387007c4e6bde6db86384c4b7 (patch) | |
tree | d503eaf41d085669d1481bb46ec038bc866fece6 /libgo/runtime/go-string-to-int-array.c | |
parent | f733cf303bcdc952c92b81dd62199a40a1f555ec (diff) | |
download | gcc-tarball-master.tar.gz |
gcc-7.1.0gcc-7.1.0
Diffstat (limited to 'libgo/runtime/go-string-to-int-array.c')
-rw-r--r-- | libgo/runtime/go-string-to-int-array.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/libgo/runtime/go-string-to-int-array.c b/libgo/runtime/go-string-to-int-array.c deleted file mode 100644 index 5546889131..0000000000 --- a/libgo/runtime/go-string-to-int-array.c +++ /dev/null @@ -1,56 +0,0 @@ -/* go-string-to-int-array.c -- convert a string to an array of ints in Go. - - 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 "go-alloc.h" -#include "go-string.h" -#include "array.h" -#include "arch.h" -#include "malloc.h" - -struct __go_open_array -__go_string_to_int_array (String str) -{ - size_t c; - const unsigned char *p; - const unsigned char *pend; - uintptr mem; - uint32_t *data; - uint32_t *pd; - struct __go_open_array ret; - - c = 0; - p = str.str; - pend = p + str.len; - while (p < pend) - { - int rune; - - ++c; - p += __go_get_rune (p, pend - p, &rune); - } - - if (c > MaxMem / sizeof (uint32_t)) - runtime_throw ("out of memory"); - - mem = runtime_roundupsize (c * sizeof (uint32_t)); - data = (uint32_t *) runtime_mallocgc (mem, 0, FlagNoScan | FlagNoZero); - p = str.str; - pd = data; - while (p < pend) - { - int rune; - - p += __go_get_rune (p, pend - p, &rune); - *pd++ = rune; - } - if (mem > (uintptr) c * sizeof (uint32_t)) - __builtin_memset (data + c, 0, mem - (uintptr) c * sizeof (uint32_t)); - ret.__values = (void *) data; - ret.__count = c; - ret.__capacity = (intgo) (mem / sizeof (uint32_t)); - return ret; -} |