diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index e6dcef166f9..7616d632d95 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,6 @@ +2004-01-28 John Camelon + Added ScannerTestCase::testBug50821(). + 2004-01-27 John Camelon Renamed ContextualParseTest to CompletionParseTest. Updated COMPLETION_PARSE clients to use SINGLE_NAME_REFERENCE rather than STATEMENT_START. diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java index 3824cdd8bf4..511dc7aa640 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java @@ -1547,4 +1547,12 @@ public class ScannerTestCase extends BaseScannerTest initializeScanner( buffer.toString(), ParserMode.COMPLETE_PARSE ); validateEOF(); } + + public void testBug50821() throws Exception + { + Callback callback = new Callback( ParserMode.QUICK_PARSE ); + initializeScanner( "\'\n\n\n", ParserMode.QUICK_PARSE, callback ); + scanner.nextToken(); + assertEquals( callback.problems.size(), 1 ); + } } diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog-parser b/core/org.eclipse.cdt.core/parser/ChangeLog-parser index ae56a71d9e9..79555b77c58 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog-parser +++ b/core/org.eclipse.cdt.core/parser/ChangeLog-parser @@ -1,3 +1,6 @@ +2004-01-28 John Camelon + Fixed Bug 50821 - Freezes when opening / saving .c file + 2004-01-28 John Camelon Fixed Bug 50711 - Wrong completion kind in a new expression diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java index 1e409053661..baa58617e50 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java @@ -1841,7 +1841,7 @@ public class Scanner implements IScanner { ( c == NOCHAR ) ) { handleProblem( IProblem.SCANNER_BAD_CHARACTER, new Character( (char)c ).toString(),beginOffset, false, true, throwExceptionOnBadCharacterRead ); - c = ' '; + c = '\''; } // exit condition if ( ( c =='\'' ) && ( prev != '\\' || prevPrev == '\\' ) ) break;