diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java index 7621074f97d..a97a66a8365 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java @@ -1679,8 +1679,11 @@ abstract class BaseScanner implements IScanner { boolean isWarning= type == IPreprocessorDirective.ppWarning; handleProblem(isWarning ? IProblem.PREPROCESSOR_POUND_WARNING : IProblem.PREPROCESSOR_POUND_ERROR, start, CharArrayUtils.extract(buffer, start, end-start)); - processError(pos, end); - processWarning(pos, end); + if (isWarning) { + processWarning(pos, end); + } else { + processError(pos, end); + } return; case IPreprocessorDirective.ppEndif: skipToNewLine();