diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/GCCCompleteParseExtensionsTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/GCCCompleteParseExtensionsTest.java index 341edcf515b..339ac21a7eb 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/GCCCompleteParseExtensionsTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/GCCCompleteParseExtensionsTest.java @@ -266,4 +266,15 @@ public class GCCCompleteParseExtensionsTest extends CompleteParseBaseTest { parse( writer.toString() ); } + + public void testBug74190_g_return_if_fail() throws Exception { + Writer writer = new StringWriter(); + writer.write( "void f() { \n"); //$NON-NLS-1$ + writer.write( " (void)({ if( ( ({ 0; }) ) ) \n"); //$NON-NLS-1$ + writer.write( " { } \n"); //$NON-NLS-1$ + writer.write( " }); \n"); //$NON-NLS-1$ + writer.write( "} \n"); //$NON-NLS-1$ + + parse( writer.toString() ); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/GCCASTExtension.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/GCCASTExtension.java index 866af2a379d..d35e0814c59 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/GCCASTExtension.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/GCCASTExtension.java @@ -62,7 +62,8 @@ public abstract class GCCASTExtension implements IASTFactoryExtension { kind == IASTGCCExpression.Kind.UNARY_TYPEOF_UNARYEXPRESSION || kind == IASTGCCExpression.Kind.UNARY_TYPEOF_TYPEID || kind == IASTGCCExpression.Kind.RELATIONAL_MAX || - kind == IASTGCCExpression.Kind.RELATIONAL_MIN ) + kind == IASTGCCExpression.Kind.RELATIONAL_MIN || + kind == IASTGCCExpression.Kind.STATEMENT_EXPRESSION ) return true; return false; }