diff --git a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java index b917dece9bd..86a9d9e25a5 100644 --- a/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java +++ b/codan/org.eclipse.cdt.codan.checkers/src/org/eclipse/cdt/codan/internal/checkers/ReturnChecker.java @@ -192,7 +192,7 @@ public class ReturnChecker extends AbstractAstFunctionChecker { */ private boolean isCompoundStatement(IASTStatement last) { return last instanceof IASTIfStatement || last instanceof IASTWhileStatement || last instanceof IASTDoStatement - || last instanceof IASTForStatement || last instanceof IASTSwitchStatement; + || last instanceof IASTForStatement || last instanceof IASTSwitchStatement || last instanceof IASTCompoundStatement; } protected boolean isFuncExitStatement(IASTStatement statement) { diff --git a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/ReturnCheckerTest.java b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/ReturnCheckerTest.java index b69f416b1dd..aba819266d8 100644 --- a/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/ReturnCheckerTest.java +++ b/codan/org.eclipse.cdt.codan.core.test/src/org/eclipse/cdt/codan/core/internal/checkers/ReturnCheckerTest.java @@ -256,6 +256,16 @@ public class ReturnCheckerTest extends CheckerTestCase { checkErrorLine(1); } + // int f345687() { + // { + // return 0; + // } + // } + public void testNextedBlock_Bug345687() { + loadCodeAndRunCpp(getAboveComment()); + checkNoErrors(); + } + // int // fp_goto(int a) // {