Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied [ HEAD ] - Further TortureTest investigations


CORE
        Fixed bug39348 - sizeof elaborated types fail in parsing _expression_

TESTS
        Added DOMFailedTest::testBug39349().
        Added DOMTests::testBug39348().

JohnC
 
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.7
diff -u -r1.7 ChangeLog
--- ChangeLog	25 Jun 2003 22:47:45 -0000	1.7
+++ ChangeLog	26 Jun 2003 00:08:38 -0000
@@ -1,4 +1,8 @@
 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.  
 	Began structuring expressions and declarators in Parser for ISourceElementRequestor.  
Index: failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java,v
retrieving revision 1.1
diff -u -r1.1 DOMFailedTest.java
--- failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java	18 Jun 2003 21:29:47 -0000	1.1
+++ failures/org/eclipse/cdt/core/parser/failedTests/DOMFailedTest.java	26 Jun 2003 00:08:38 -0000
@@ -23,5 +23,10 @@
 
 	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 };" ); 
 	}    
 }
Index: parser/org/eclipse/cdt/core/parser/tests/DOMTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java,v
retrieving revision 1.2
diff -u -r1.2 DOMTests.java
--- parser/org/eclipse/cdt/core/parser/tests/DOMTests.java	20 Jun 2003 17:00:44 -0000	1.2
+++ parser/org/eclipse/cdt/core/parser/tests/DOMTests.java	26 Jun 2003 00:08:40 -0000
@@ -2234,4 +2234,10 @@
 		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)];");
+	}
+	
 }
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.65
diff -u -r1.65 ChangeLog
--- parser/ChangeLog	25 Jun 2003 22:47:52 -0000	1.65
+++ parser/ChangeLog	26 Jun 2003 00:08:13 -0000
@@ -1,4 +1,7 @@
 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.  
 	Began structuring expressions and declarators in Parser for ISourceElementRequestor.  
Index: parser/org/eclipse/cdt/internal/core/parser/Parser.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java,v
retrieving revision 1.58
diff -u -r1.58 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java	25 Jun 2003 22:47:52 -0000	1.58
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java	26 Jun 2003 00:08:19 -0000
@@ -3707,6 +3707,11 @@
                 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;
         }

Back to the top