[cfe-commits] [patch] pr11109 fix (crash on invalid)

David Blaikie dblaikie at gmail.com
Wed Oct 12 23:20:23 PDT 2011


On Wed, Oct 12, 2011 at 11:00 PM, John McCall <rjmccall at apple.com> wrote:

> On Oct 12, 2011, at 10:52 PM, David Blaikie wrote:
>
> This patch fixes pr11109 <http://llvm.org/bugs/show_bug.cgi?id=11109>, 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!
>

Thanks John! Committed as r141852 & resolved the bug as fix.

- David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20111012/20a5d6bf/attachment.html>


More information about the cfe-commits mailing list