aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/go-string-to-byte-array.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2016-10-12 18:17:52 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2016-10-12 18:17:52 +0000
commit1ad16c52842e0513b96a0e02d2a431dc0f338c5d (patch)
treef6eaddf65fba9d031ed9b3008a3c3ba4ff0ebd0b /libgo/runtime/go-string-to-byte-array.c
parent2ec69f566076547b618447ba5531260c25abed3e (diff)
downloadgcc-1ad16c52842e0513b96a0e02d2a431dc0f338c5d.zip
gcc-1ad16c52842e0513b96a0e02d2a431dc0f338c5d.tar.gz
gcc-1ad16c52842e0513b96a0e02d2a431dc0f338c5d.tar.bz2
compiler, runtime: copy string code from Go 1.7
Add compiler support for turning concatenating strings into a call to a runtime function that takes the appropriate number of arguments. Rename some local variables in mgc0.c to avoid macros that the new rune.go causes to appear in runtime.inc. Reviewed-on: https://go-review.googlesource.com/30827 From-SVN: r241074
Diffstat (limited to 'libgo/runtime/go-string-to-byte-array.c')
-rw-r--r--libgo/runtime/go-string-to-byte-array.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/libgo/runtime/go-string-to-byte-array.c b/libgo/runtime/go-string-to-byte-array.c
deleted file mode 100644
index 61591eb..0000000
--- a/libgo/runtime/go-string-to-byte-array.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* go-string-to-byte-array.c -- convert a string to an array of bytes 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 "array.h"
-#include "arch.h"
-#include "malloc.h"
-
-struct __go_open_array
-__go_string_to_byte_array (String str)
-{
- uintptr cap;
- unsigned char *data;
- struct __go_open_array ret;
-
- cap = runtime_roundupsize (str.len);
- data = (unsigned char *) runtime_mallocgc (cap, 0, FlagNoScan | FlagNoZero);
- __builtin_memcpy (data, str.str, str.len);
- if (cap != (uintptr) str.len)
- __builtin_memset (data + str.len, 0, cap - (uintptr) str.len);
- ret.__values = (void *) data;
- ret.__count = str.len;
- ret.__capacity = str.len;
- return ret;
-}