diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index fa90bfa80f5..78e00a3ebcb 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,7 @@ +2003-06-25 John Camelon + Added DOMFailedTest::testBug39349(). + Added DOMTests::testBug39348(). + 2003-06-25 John Camelon Create new interface and support for calculating lineNumber/offset mapping. Updated IASTClassSpecifier for qualified name query. diff --git a/core/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java b/core/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java index 1bdb96ea75a..f00bbde1b4f 100644 --- a/core/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java +++ b/core/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java @@ -23,5 +23,10 @@ public class DOMFailedTest extends BaseDOMTest { public void testBug36730()throws Exception { failTest("FUNCTION_MACRO( 1, a )\n int i;"); + } + + public void testBug39349() throws Exception + { + failTest( "enum foo { foo1 = 0, foo2 = 0xffffffffffffffffULL, foo3 = 0xf0fffffffffffffeULL };" ); } } diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java index 4da19ed633b..38afa8e9960 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java @@ -2234,4 +2234,10 @@ public class DOMTests extends BaseDOMTest { assertNull( ((Declarator)((ParameterDeclaration)clause2.getDeclarations().get(0)).getDeclarators().get(0)).getName() ); assertEquals( ((ParameterDeclaration)clause2.getDeclarations().get(0)).getDeclSpecifier().getType(), DeclSpecifier.t_float ); } + + public void testBug39348() throws Exception + { + parse("unsigned char a[sizeof (struct sss)];"); + } + } diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog b/core/org.eclipse.cdt.core/parser/ChangeLog index 6627486aa13..e90c9bd186f 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog +++ b/core/org.eclipse.cdt.core/parser/ChangeLog @@ -1,3 +1,6 @@ +2003-06-25 John Camelon + Fixed bug39348 - sizeof elaborated types fail in parsing expression + 2003-06-25 John Camelon Create new interface and support for calculating lineNumber/offset mapping. Updated IASTClassSpecifier for qualified name query. diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java index 2265e6c04a3..1ece0fb28c7 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java @@ -3707,6 +3707,11 @@ public class Parser implements IParser consume(IToken.t_typename); name(); } + else if( LT(1) == IToken.t_struct || LT(1) == IToken.t_class || LT(1) == IToken.t_enum || LT(1) == IToken.t_union ) + { + consume(); + name(); + } else throw backtrack; }