title: compile error: cpumask.h: "and" may not appear in macro parameter list
body: <p>I'm trying to move a project from an old linux platform to a kubunutu 9.04. Now I get this error when compiling with gcc 4.3.3:</p>
  
  <pre><code>/usr/src/linux-headers-2.6.28-11-generic/include/linux/cpumask.h:600:37: error: "and" may not appear in macro parameter list
  </code></pre>
  
  <p>If I understand the message right, it is not allowed to use "and" as a macro parameter, since it is a "reserved command". Two questions about that:</p>
  
  <ol>
  <li>How is this possible? I cannot imagine that there is such a mistake in the linux header files... Did I do something wrong before? I tried an #undef and but this won't help.</li>
  <li>How do I fix this error? It cannot be true that I have to change the linux header files, can it?</li>
  </ol>
  
  <p>Thanks for help.</p>