Mercurial > hg > CbC > CbC_gcc
comparison libgo/runtime/go-string.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* go-string.h -- the string type for Go. | |
2 | |
3 Copyright 2009 The Go Authors. All rights reserved. | |
4 Use of this source code is governed by a BSD-style | |
5 license that can be found in the LICENSE file. */ | |
6 | |
7 #ifndef LIBGO_GO_STRING_H | |
8 #define LIBGO_GO_STRING_H | |
9 | |
10 #include <stddef.h> | |
11 | |
12 static inline _Bool | |
13 __go_strings_equal (String s1, String s2) | |
14 { | |
15 return (s1.len == s2.len | |
16 && __builtin_memcmp (s1.str, s2.str, s1.len) == 0); | |
17 } | |
18 | |
19 static inline _Bool | |
20 __go_ptr_strings_equal (const String *ps1, const String *ps2) | |
21 { | |
22 if (ps1 == NULL) | |
23 return ps2 == NULL; | |
24 if (ps2 == NULL) | |
25 return 0; | |
26 return __go_strings_equal (*ps1, *ps2); | |
27 } | |
28 | |
29 extern int __go_get_rune (const unsigned char *, size_t, int32 *); | |
30 | |
31 #endif /* !defined(LIBGO_GO_STRING_H) */ |