1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Patch for Devin Steffler.

FIXED 84176 - compound literal C example from C99 6.5.2.5-16 has 2 IASTProblemStatements
This commit is contained in:
John Camelon 2005-02-18 21:05:55 +00:00
parent 3eaf13dfa3
commit 5ba7b6a704
2 changed files with 5 additions and 1 deletions

View file

@ -2735,7 +2735,7 @@ public class AST2Tests extends AST2BaseTest {
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 {

View file

@ -341,6 +341,10 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
&& (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();