mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-01 05:15:43 +02:00
Suppress error reporting in inactive code, bug 264666.
This commit is contained in:
parent
d7a85ffaca
commit
6af8ee790c
1 changed files with 17 additions and 11 deletions
|
@ -1042,26 +1042,32 @@ public class CPreprocessor implements ILexerLog, IScanner, IAdaptable {
|
||||||
case IPreprocessorDirective.ppError:
|
case IPreprocessorDirective.ppError:
|
||||||
int condOffset= lexer.nextToken().getOffset();
|
int condOffset= lexer.nextToken().getOffset();
|
||||||
condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
||||||
int endOffset= lexer.currentToken().getEndOffset();
|
if (fCurrentContext.getCodeState() == CodeState.eActive) {
|
||||||
final char[] warning= lexer.getInputChars(condOffset, condEndOffset);
|
int endOffset= lexer.currentToken().getEndOffset();
|
||||||
final int id= type == IPreprocessorDirective.ppError
|
final char[] warning= lexer.getInputChars(condOffset, condEndOffset);
|
||||||
? IProblem.PREPROCESSOR_POUND_ERROR
|
final int id= type == IPreprocessorDirective.ppError
|
||||||
: IProblem.PREPROCESSOR_POUND_WARNING;
|
? IProblem.PREPROCESSOR_POUND_ERROR
|
||||||
handleProblem(id, warning, condOffset, condEndOffset);
|
: IProblem.PREPROCESSOR_POUND_WARNING;
|
||||||
fLocationMap.encounterPoundError(startOffset, condOffset, condEndOffset, endOffset);
|
handleProblem(id, warning, condOffset, condEndOffset);
|
||||||
|
fLocationMap.encounterPoundError(startOffset, condOffset, condEndOffset, endOffset);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case IPreprocessorDirective.ppPragma:
|
case IPreprocessorDirective.ppPragma:
|
||||||
condOffset= lexer.nextToken().getOffset();
|
condOffset= lexer.nextToken().getOffset();
|
||||||
condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
||||||
endOffset= lexer.currentToken().getEndOffset();
|
if (fCurrentContext.getCodeState() == CodeState.eActive) {
|
||||||
fLocationMap.encounterPoundPragma(startOffset, condOffset, condEndOffset, endOffset);
|
int endOffset= lexer.currentToken().getEndOffset();
|
||||||
|
fLocationMap.encounterPoundPragma(startOffset, condOffset, condEndOffset, endOffset);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case IPreprocessorDirective.ppIgnore:
|
case IPreprocessorDirective.ppIgnore:
|
||||||
lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
endOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
int endOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
|
||||||
handleProblem(IProblem.PREPROCESSOR_INVALID_DIRECTIVE, ident.getCharImage(), startOffset, endOffset);
|
if (fCurrentContext.getCodeState() == CodeState.eActive) {
|
||||||
|
handleProblem(IProblem.PREPROCESSOR_INVALID_DIRECTIVE, ident.getCharImage(), startOffset, endOffset);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue