If you're waiting on me, go ahead. My suggestion was just a "peephole" suggestion.
--Sean Silva On Thu, Jul 12, 2012 at 9:18 PM, Richard Smith <[email protected]> wrote: > Patch rebased to ToT. > > > On Sun, Jul 8, 2012 at 2:11 PM, Richard Smith <[email protected]> wrote: >> >> Ping. >> >> >> On Fri, Jun 29, 2012 at 12:49 PM, Richard Smith <[email protected]> >> wrote: >>> >>> On Fri, Jun 29, 2012 at 11:46 AM, Sean Silva <[email protected]> wrote: >>>> >>>> + case ANK_TentativeDecl: >>>> + case ANK_TemplateName: >>>> + // These two shouldn't happen. >>>> + case ANK_Unresolved: >>>> break; >>>> >>>> assert? >>> >>> >>> Sorry, I forgot to update that comment after some refactoring. The second >>> case is possible (but only for ill-formed code), and the first case is >>> completely harmless. I've updated and simplified this code to remove the >>> switch entirely: >>> >>> case tok::identifier: { >>> Token Next = NextToken(); >>> if (Next.is(tok::colon)) { // C99 6.8.1: labeled-statement >>> // identifier ':' statement >>> return ParseLabeledStatement(Attrs); >>> } >>> >>> // Look up the identifier, and typo-correct it to a keyword if it's >>> not >>> // found. >>> if (Next.isNot(tok::coloncolon)) { >>> // CorrectionCandidateCallback by default allows typo-correction to >>> // anything which can appear at the start of a statement. >>> CorrectionCandidateCallback DefaultValidator; >>> if (TryAnnotateName(/*IsAddressOfOperand*/false, &DefaultValidator) >>> == ANK_Error) { >>> // Handle errors here by skipping up to the next semicolon or >>> '}', and >>> // eat the semicolon if that's what stopped us. >>> SkipUntil(tok::r_brace, /*StopAtSemi=*/true, >>> /*DontConsume=*/true); >>> if (Tok.is(tok::semi)) >>> ConsumeToken(); >>> return StmtError(); >>> } >>> >>> // If the identifier was typo-corrected, try again. >>> if (Tok.isNot(tok::identifier)) >>> goto Retry; >>> } >>> >>> // Fall through >>> } >>> >> > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
