title: _GNU_SOURCE and __USE_GNU
body: <p>I want to use <code>CPU_SET</code>, which is a glibc linux-specific macro that should be defined in <code>sched.h</code>  The manpage clearly states that <code>_GNU_SOURCE</code> must be defined so that the macro is defined.  However, looking at the header, <code>CPU_SET</code> is defined only if <code>__USE_GNU</code> is defined (there is an <code>#ifdef</code> guard).  I seem to remember a few years ago that <code>_GNU_SOURCE</code> was needed.</p>
  
  <p>Questions:</p>
  
  <p>1) Clearly the manpage is off.  How do I notify the maintainer that the manpage is incorrect?</p>
  
  <p>2) When did the transition from <code>_GNU_SOURCE</code> to <code>__USE_GNU</code> happen (either in terms of version or time)</p>
  
  <p>3) Are there circumstances where newer versions of glibc still use <code>_GNU_SOURCE</code>?  Or can I safely assume that defining <code>__USE_GNU</code> is sufficient?</p>