diff options
Diffstat (limited to 'libgo/go/bytes/indexbyte.c')
-rw-r--r-- | libgo/go/bytes/indexbyte.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/libgo/go/bytes/indexbyte.c b/libgo/go/bytes/indexbyte.c deleted file mode 100644 index b248108..0000000 --- a/libgo/go/bytes/indexbyte.c +++ /dev/null @@ -1,73 +0,0 @@ -/* indexbyte.c -- implement bytes.IndexByte for Go. - - 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 "runtime.h" -#include "array.h" - -/* This is in C so that the compiler can optimize it appropriately. - We deliberately don't split the stack in case it does call the - library function, which shouldn't need much stack space. */ - -intgo IndexByte (struct __go_open_array, char) - __asm__ (GOSYM_PREFIX "bytes.IndexByte") - __attribute__ ((no_split_stack)); - -intgo -IndexByte (struct __go_open_array s, char b) -{ - char *p; - - p = __builtin_memchr (s.__values, b, s.__count); - if (p == NULL) - return -1; - return p - (char *) s.__values; -} - -/* Comparison. */ - -_Bool Equal (struct __go_open_array a, struct __go_open_array b) - __asm__ (GOSYM_PREFIX "bytes.Equal") - __attribute__ ((no_split_stack)); - -_Bool -Equal (struct __go_open_array a, struct __go_open_array b) -{ - if (a.__count != b.__count) - return 0; - return __builtin_memcmp (a.__values, b.__values, a.__count) == 0; -} - -intgo Compare (struct __go_open_array a, struct __go_open_array b) - __asm__ (GOSYM_PREFIX "bytes.Compare") - __attribute__ ((no_split_stack)); - -intgo -Compare (struct __go_open_array a, struct __go_open_array b) -{ - intgo len; - - len = a.__count; - if (len > b.__count) - len = b.__count; - if (len > 0) - { - intgo ret; - - ret = __builtin_memcmp (a.__values, b.__values, len); - if (ret < 0) - return -1; - else if (ret > 0) - return 1; - } - if (a.__count < b.__count) - return -1; - else if (a.__count > b.__count) - return 1; - else - return 0; -} |