[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] proposed fix for 1.2 branch
|
This is the same (simple) fix as was applied last night on the HEAD branch
for https://bugs.eclipse.org/bugs/show_bug.cgi?id=50821
The consequences of not applying it is that the scanner's error handling
strategy causes an out-of-memory error to happen on a unterminated
character literal when CModelBuilder kicks in (i.e. on save or reconcile).
JohnC
www.eclipse.org/cdt
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.131.2.6
diff -u -r1.131.2.6 ChangeLog
--- ChangeLog 7 Nov 2003 19:49:10 -0000 1.131.2.6
+++ ChangeLog 29 Jan 2004 16:08:03 -0000
@@ -1,3 +1,6 @@
+2004-01-29 John Camelon
+ Added ScannerTestCase::testBug50821().
+
2003-11-07 John Camelon
Moved testBug39554() from ASTFailedTests to QuickParseASTTests.
Index: parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java,v
retrieving revision 1.8.2.4
diff -u -r1.8.2.4 ScannerTestCase.java
--- parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java 6 Nov 2003 04:57:46 -0000 1.8.2.4
+++ parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java 29 Jan 2004 16:08:07 -0000
@@ -1528,4 +1528,13 @@
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 );
+ }
+
}
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/Attic/ChangeLog,v
retrieving revision 1.151.2.7
diff -u -r1.151.2.7 ChangeLog
--- parser/ChangeLog 7 Nov 2003 19:49:03 -0000 1.151.2.7
+++ parser/ChangeLog 29 Jan 2004 16:08:40 -0000
@@ -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)
Index: parser/org/eclipse/cdt/internal/core/parser/Scanner.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Attic/Scanner.java,v
retrieving revision 1.59.2.5
diff -u -r1.59.2.5 Scanner.java
--- parser/org/eclipse/cdt/internal/core/parser/Scanner.java 7 Nov 2003 19:49:03 -0000 1.59.2.5
+++ parser/org/eclipse/cdt/internal/core/parser/Scanner.java 29 Jan 2004 16:08:44 -0000
@@ -1616,7 +1616,7 @@
( 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;