title: What does libc_hidden_builtin_def (strspn) mean?
body: <pre><code>libc_hidden_builtin_def (strspn)
  </code></pre>
  
  <p>I found the code above in <code>glibc-2.18/string/strspn.c</code>.
  Can someone explain what this mean. Is this important to rest of the code?
  Here is the content of the file <code>strspn.c</code>:</p>
  
  <pre><code>#include &lt;string.h&gt;
  
  #undef strspn
  
  /* Return the length of the maximum initial segment
     of S which contains only characters in ACCEPT.  */
  size_t strspn (s, accept) const char *s; const char *accept; {
    const char *p;
    const char *a;
    size_t count = 0;
  
    for (p = s; *p != '\0'; ++p) {
        for (a = accept; *a != '\0'; ++a) {
          if (*p == *a)
             break;
          if (*a == '\0')
             return count;
          else
            ++count;
       }
    }
  
    return count;
  }
  libc_hidden_builtin_def (strspn)
  </code></pre>