mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
CORE
Fixed Bug 37019 - RTS: Parser fails on variable defn using constructor Fixed Bug 36767 - STL Testing: Parser is confused and goes into template function body TESTS Moved testBug37019() from DOMFailedTests to DOMTests.
This commit is contained in:
parent
85cb30cd54
commit
0ab192cb95
5 changed files with 30 additions and 22 deletions
|
@ -1,3 +1,7 @@
|
|||
2003-04-28 John Camelon
|
||||
Fixed Bug 37019 - RTS: Parser fails on variable defn using constructor
|
||||
Fixed Bug 36767 - STL Testing: Parser is confused and goes into template function body
|
||||
|
||||
2003-04-28 John Camelon
|
||||
Partial fix for Bug37002 - Order of Offsetables is wrong
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ c, quick);
|
|||
checkToken = LA(1);
|
||||
declaration( translationUnit );
|
||||
if( LA(1) == checkToken )
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
} catch (EndOfFile e) {
|
||||
// Good
|
||||
break;
|
||||
|
@ -119,7 +119,7 @@ c, quick);
|
|||
if (lastBacktrack != null && lastBacktrack == LA(1)) {
|
||||
// we haven't progressed from the last backtrack
|
||||
// try and find tne next definition
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
} else {
|
||||
// start again from here
|
||||
lastBacktrack = LA(1);
|
||||
|
@ -136,12 +136,12 @@ c, quick);
|
|||
try{ callback.translationUnitEnd(translationUnit);} catch( Exception e ) {}
|
||||
}
|
||||
|
||||
protected void consumeToNextSemicolon() throws Backtrack {
|
||||
protected void errorHandling() throws Backtrack {
|
||||
failParse();
|
||||
consume();
|
||||
// TODO - we should really check for matching braces too
|
||||
int depth = 0;
|
||||
while (LT(1) != Token.tSEMI || depth != 0 ) {
|
||||
while ( ! ( (LT(1) == Token.tSEMI && depth == 0 ) || ( LT(1) == Token.tRBRACE && depth == 1 ) ) ){
|
||||
switch( LT(1))
|
||||
{
|
||||
case Token.tLBRACE:
|
||||
|
@ -154,8 +154,8 @@ c, quick);
|
|||
|
||||
consume();
|
||||
}
|
||||
// eat the SEMI as well
|
||||
consume(Token.tSEMI);
|
||||
// eat the SEMI/RBRACE as well
|
||||
consume();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -279,11 +279,11 @@ c, quick);
|
|||
{
|
||||
failParse();
|
||||
if( checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
}
|
||||
if (checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
// consume the }
|
||||
consume();
|
||||
|
@ -548,11 +548,11 @@ c, quick);
|
|||
{
|
||||
failParse();
|
||||
if (checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
}
|
||||
if (checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
// consume the }
|
||||
|
||||
|
@ -1184,7 +1184,7 @@ c, quick);
|
|||
try
|
||||
{
|
||||
try{ expression = callback.expressionBegin( declarator ); } catch( Exception e ) {}
|
||||
constantExpression( expression );
|
||||
expression( expression );
|
||||
try{ callback.expressionEnd( expression ); } catch( Exception e ) {}
|
||||
}
|
||||
catch( Backtrack b )
|
||||
|
@ -1429,7 +1429,7 @@ c, quick);
|
|||
break;
|
||||
default:
|
||||
System.out.println( "Unexpected Token =" + LA(1).getImage() );
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -1685,11 +1685,11 @@ c, quick);
|
|||
{
|
||||
failParse();
|
||||
if (checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
}
|
||||
if (checkToken == LA(1))
|
||||
consumeToNextSemicolon();
|
||||
errorHandling();
|
||||
}
|
||||
// consume the }
|
||||
try{ callback.classSpecifierEnd(classSpec, consume( Token.tRBRACE )); } catch( Exception e ) {}
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
2003-04-28 John Camelon
|
||||
Moved testBug36730() & testBug37019() from DOMFailedTests to DOMTests.
|
||||
|
||||
2003-04-28 Andrew Niefer
|
||||
Added DOMFailedTest::testBug37019
|
||||
Added DOMFailedTest::testBug36932
|
||||
|
|
|
@ -21,15 +21,12 @@ public class DOMFailedTest extends BaseDOMTest {
|
|||
super(name);
|
||||
}
|
||||
|
||||
public void testBug36730(){
|
||||
failTest("FUNCTION_MACRO( 1, a );\n int i;");
|
||||
}
|
||||
|
||||
public void testBug37019(){
|
||||
failTest("static const A a( 1, 0 );");
|
||||
}
|
||||
|
||||
public void testBug36932() {
|
||||
failTest("A::A( ) : var( new char [ (unsigned)bufSize ] ) {}");
|
||||
}
|
||||
|
||||
public void testBug36730()throws Exception {
|
||||
failTest("FUNCTION_MACRO( 1, a )\n int i;");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1779,5 +1779,9 @@ public class DOMTests extends BaseDOMTest {
|
|||
assertFalse( i.hasNext() );
|
||||
}
|
||||
|
||||
public void testBug37019() throws Exception {
|
||||
parse("static const A a( 1, 0 );");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue