aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/bytes/indexbyte.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/bytes/indexbyte.c')
-rw-r--r--libgo/go/bytes/indexbyte.c73
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;
-}