title: Enum declaration not found when including containing header
body: <p>I have an enumerator type that is declared in a header file. I would like to use this in a c file that includes this header file. However when compiling I get an error that the enumerator type is not defined. I've tried copying the enumerator declaration to my source file but I get an error: "nested redefinition of ‘enum command_type’"</p>
  
  <p>Could someone explain how to use the enumerator type in my file please? 
  Thank you!</p>
  
  <p>The enumerator:</p>
  
  <pre><code>//command-internals.h
  enum command_type
    {
      AND_COMMAND,         // A &amp;&amp; B
      SEQUENCE_COMMAND,    // A ; B
      OR_COMMAND,          // A || B
      PIPE_COMMAND,        // A | B
      SIMPLE_COMMAND,      // a simple command
      SUBSHELL_COMMAND,    // ( A )
    };
  </code></pre>
  
  <p>The usage:</p>
  
  <pre><code>//#include "command-internals.h"
  command_type scan(char *buffer)
  ...
  </code></pre>
  
  <p>The error: <code>error: unknown type name ‘command_type’</code></p>