Extended Description
Consider the following code, and assume that FOO is not defined:
#ifdef FOO
#elfidef BAR
#endif
In this case, we do not issue any diagnostic about the typo where #elifdef is misspelled as #elfidef because it appears within a preprocessor branch that is discarded.
When scanning for the end of the discarded block, we should consider typo corrections for non-directives to help catch this sort of mistake.
Extended Description
Consider the following code, and assume that FOO is not defined:
In this case, we do not issue any diagnostic about the typo where
#elifdefis misspelled as#elfidefbecause it appears within a preprocessor branch that is discarded.When scanning for the end of the discarded block, we should consider typo corrections for non-directives to help catch this sort of mistake.