[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] FIXED 84176 - compound literal C example from C99 6.5.2.5-16 has 2 IASTProblemStatements
|
FIXED 84176 - compound literal C example
from C99 6.5.2.5-16 has 2 IASTProblemStatements
Devin Steffler
IBM's Eclipse CDT
Ottawa (Palladium), Ontario, Canada
Index: parser/org/eclipse/cdt/internal/core/dom/parser/c/GNUCSourceParser.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/GNUCSourceParser.java,v
retrieving revision 1.28
diff -u -r1.28 GNUCSourceParser.java
--- parser/org/eclipse/cdt/internal/core/dom/parser/c/GNUCSourceParser.java 15 Feb 2005 19:18:23 -0000 1.28
+++ parser/org/eclipse/cdt/internal/core/dom/parser/c/GNUCSourceParser.java 18 Feb 2005 16:45:22 -0000
@@ -341,6 +341,10 @@
&& (LT(1) == IToken.tIDENTIFIER || LT(1) == IToken.tLBRACKET)) {
if (LT(1) == IToken.tIDENTIFIER) {
+ // fix for 84176: if reach identifier and it's not a designator then return empty designator list
+ if (LT(2) != IToken.tCOLON)
+ return designatorList;
+
IToken identifier = identifier();
int lastOffset = consume(IToken.tCOLON).getEndOffset();
ICASTFieldDesignator designator = createFieldDesignator();
Index: parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt-core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java,v
retrieving revision 1.55
diff -u -r1.55 AST2Tests.java
--- parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java 15 Feb 2005 19:18:27 -0000 1.55
+++ parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java 18 Feb 2005 16:45:50 -0000
@@ -2735,7 +2735,7 @@
buffer.append("q = p;\n"); //$NON-NLS-1$
buffer.append("p = &((struct s){ j++ }); \n"); //$NON-NLS-1$
buffer.append("}\n"); //$NON-NLS-1$
- parse(buffer.toString(), ParserLanguage.C);
+ parse(buffer.toString(), ParserLanguage.C, false, true);
}
public void testBug84266() throws Exception {