From dc19bb3b6b9dac37091852b84501858514e71d5a Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 31 Mar 2014 10:45:24 -0700 Subject: [PATCH] Bug 431544 - UnsupportedOperationException in ControlFlowGraphBuilder.build Change-Id: I91fd0b4e1a816b80a4bbad5e7a8ee1f61f9862a9 Reviewed-on: https://git.eclipse.org/r/24214 Reviewed-by: Sergey Prigogin IP-Clean: Sergey Prigogin Tested-by: Sergey Prigogin --- .../core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java index 8b73c42119a..69809d2ae60 100644 --- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java +++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java @@ -84,7 +84,8 @@ public class ControlFlowGraphBuilder { exits.add(returnExit); for (IBasicBlock ds : dead) { IBasicBlock dl = findLast(ds); - if (dl != null && dl.getOutgoingSize() == 0 && dl != returnExit) { + if (dl != null && !(dl instanceof IExitNode) && dl.getOutgoingSize() == 0 && + dl != returnExit) { ((AbstractBasicBlock) dl).addOutgoing(returnExit); } }