Exemplo n.º 1
0
void f1 (char *p, __SIZE_TYPE__ sz)
{
  char *q = __builtin_memchr (p, 0, sz);
  __PTRDIFF_TYPE__ n = q - p;

  if (n >= __PTRDIFF_MAX__)
    __builtin_abort ();
}
Exemplo n.º 2
0
int
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;
}
Exemplo n.º 3
0
bool
runtime_showframe(String s, bool current)
{
	static int32 traceback = -1;

	if(current && runtime_m()->throwing > 0)
		return 1;
	if(traceback < 0)
		traceback = runtime_gotraceback(nil);
	return traceback > 1 || (__builtin_memchr(s.str, '.', s.len) != nil && __builtin_memcmp(s.str, "runtime.", 7) != 0);
}
Exemplo n.º 4
0
constexpr const void *f2 (const char *p, int q, size_t r) { return __builtin_memchr (p, q, r); }
Exemplo n.º 5
0
constexpr const void *f1 (const char *p, int q) { return __builtin_memchr (p, q, __builtin_strlen (p) + 1); }
Exemplo n.º 6
0
void
runtime_Fieldtrack (void *m)
{
    const char *p;
    const char *pend;
    const char *prefix;
    size_t prefix_len;

    if (__go_td_MN6_string__N4_bool == NULL)
        return;

    p = __data_start;
    if (p == NULL)
        p = __etext;
    if (p == NULL)
        p = _etext;
    if (p == NULL)
        return;

    pend = __edata;
    if (pend == NULL)
        pend = _edata;
    if (pend == NULL)
        pend = __bss_start;
    if (pend == NULL)
        return;

    prefix = "fieldtrack ";
    prefix_len = __builtin_strlen (prefix);

    while (p < pend)
    {
        const char *q1;
        const char *q2;

        q1 = __builtin_memchr (p + prefix_len, '"', pend - (p + prefix_len));
        if (q1 == NULL)
            break;

        if (__builtin_memcmp (q1 - prefix_len, prefix, prefix_len) != 0)
        {
            p = q1 + 1;
            continue;
        }

        q1++;
        q2 = __builtin_memchr (q1, '"', pend - q1);
        if (q2 == NULL)
            break;

        if (__builtin_memchr (q1, '\0', q2 - q1) == NULL)
        {
            String s;
            _Bool b;

            s.str = (const byte *) q1;
            s.len = q2 - q1;
            b = 1;
            mapassign1((const void*) __go_td_MN6_string__N4_bool, m, &s, &b);
        }

        p = q2;
    }
}