title: Statement with no effect warning with GCC and Flex/Bison
body: <p>When compiling my project with gcc and the -Wall option, I get a warning about a statement with no effect in the non-existant last line of my flex file:</p>
  
  <p><strong>Warning:</strong><br></p>
  
  <pre><code>gcc -Wall -O0 -ggdb3 -DNOSUDO -DJOBC -DDEBUG -c lex.yy.c
  tokenizer.l: In function ‘yylex’:
  tokenizer.l:179: warning: statement with no effect
  </code></pre>
  
  <p><strong>Shell Command:</strong><br></p>
  
  <pre><code>$ wc -l tokenizer.l
  178 tokenizer.l
  </code></pre>
  
  <p><strong>Last part of lex file:</strong><br></p>
  
  <pre><code>; {
      return SEMI;
  }
  </code></pre>
  
  <p>Anyone know why I might be getting this warning?</p>
  
  <p>If I suppress all #line Directives, the error is:</p>
  
  <pre><code>lex.yy.c: In function ‘yylex’:
  lex.yy.c:1021: warning: statement with no effect
  </code></pre>
  
  <p>Which refers to the ECHO line in:</p>
  
  <pre><code>case 30:
  YY_RULE_SETUP
  ECHO;
      YY_BREAK
  case YY_STATE_EOF(INITIAL):
  case YY_STATE_EOF(inQuote):
  case YY_STATE_EOF(inWord):
      yyterminate();
  </code></pre>