Implement PR6423 by using one token of lookahead to disambiguate 
an *almost* always incorrect case.  This only does the lookahead
in the insanely unlikely case, so it shouldn't impact performance.

On this testcase:

struct foo {
}
typedef int x;

Before:

t.c:3:9: error: cannot combine with previous 'struct' declaration specifier
typedef int x;
        ^

After:

t.c:2:2: error: expected ';' after struct
}
 ^
 ;

llvm-svn: 97403
4 files changed
tree: 7149480061cf42740a58d5080f3355199e50f8af
  1. clang/
  2. compiler-rt/
  3. llvm/