diff --git a/core/org.eclipse.cdt.core.tests/.project b/core/org.eclipse.cdt.core.tests/.project index 132ec729ab8..5429058f69c 100644 --- a/core/org.eclipse.cdt.core.tests/.project +++ b/core/org.eclipse.cdt.core.tests/.project @@ -3,7 +3,9 @@ org.eclipse.cdt.core.tests + org.apache.xerces org.eclipse.cdt.core + org.eclipse.cdt.core.aix org.eclipse.cdt.core.linux org.eclipse.cdt.core.qnx org.eclipse.cdt.core.solaris @@ -11,6 +13,12 @@ org.eclipse.cdt.make.core org.eclipse.cdt.managedbuilder.core org.eclipse.cdt.ui + org.eclipse.core.boot + org.eclipse.core.resources + org.eclipse.core.runtime + org.eclipse.swt + org.eclipse.ui + org.junit diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index 9a2fdd622cc..b68b61bab50 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,6 @@ +2004-01-29 John Camelon + Added ScannerTestCase::testBug50821(). + 2003-11-07 John Camelon Moved testBug39554() from ASTFailedTests to QuickParseASTTests. 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 64823bc6d92..3b299d25d5f 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 @@ -1528,4 +1528,13 @@ public class ScannerTestCase extends BaseScannerTest assertEquals( callback.inclusions.size(), 1 ); assertEquals( callback.inclusions.get(0), "stdio.h"); } + + 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/.project b/core/org.eclipse.cdt.core/.project index 95eceb11fac..ba2680f0072 100644 --- a/core/org.eclipse.cdt.core/.project +++ b/core/org.eclipse.cdt.core/.project @@ -3,6 +3,14 @@ org.eclipse.cdt.core + org.apache.xerces + org.eclipse.compare + org.eclipse.core.boot + org.eclipse.core.resources + org.eclipse.core.runtime + org.eclipse.debug.core + org.eclipse.search + org.eclipse.team.core diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog b/core/org.eclipse.cdt.core/parser/ChangeLog index 77fdac40be7..0a63834dbb0 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog +++ b/core/org.eclipse.cdt.core/parser/ChangeLog @@ -1,3 +1,6 @@ +2004-01-29 John Camelon + Fixed Bug 50821 - Freezes when opening / saving .c file + 2003-11-07 John Camelon Fixed Bug 39554 : _Pragma directive is not supported (ANSI C99) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java index d3a89fcfc06..8bcfd2b4ba8 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java @@ -1616,7 +1616,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;