On Oct 12, 2011, at 10:52 PM, David Blaikie wrote:
> This patch fixes pr11109, a crash-on-invalid with the following source:
> 
> class foo { public
> 
> Matthias who reported the bug was nice enough to provide a basic fix (though 
> only attached it to the bug rather than emailing cfe-commits, so it went 
> unnoticed) but I've fixed up a few more things around here:
> 
> The original code was trying to consume the token following the access 
> specifier, this is what caused the crash in the above case*. I assume the 
> reason it was doing this was to catch the common case where a semicolon is 
> written instead of a colon. So to address this I special cased that - FixIt 
> replacing the semicolon with a colon (see class E in the attached test). But 
> in the general case, consuming this token just lead to bad error recovery 
> (see the comments for class D in the attached test) - "class foo { public int 
> i; };" would fail once for the missing colon, then again for the missing type 
> specifier for the declaration of 'i' because the 'int' had been erroneously 
> consumed while looking for a colon).
> 
> Please let me know if this looks good and I'll check it in and resolve the 
> bug,

Looks great, thanks!

John.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to