summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorGravatar qadeer <qadeer@microsoft.com>2012-05-24 16:40:15 -0700
committerGravatar qadeer <qadeer@microsoft.com>2012-05-24 16:40:15 -0700
commitd29bfc833694c38a4166ace7a04b1ac957d45b14 (patch)
treeeefe2e8f6de76b8d1962ed242bd3145cb13d7525 /Source
parent24d95742398c646d2dbb42ff8301d6b714617620 (diff)
parentbabc92bbf075242557467d055edbb545193e9fba (diff)
Merge
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/CommandLineOptions.cs1
-rw-r--r--Source/Graph/Graph.cs7
2 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/CommandLineOptions.cs b/Source/Core/CommandLineOptions.cs
index 3e7fd79e..35ceeeae 100644
--- a/Source/Core/CommandLineOptions.cs
+++ b/Source/Core/CommandLineOptions.cs
@@ -1559,6 +1559,7 @@ namespace Microsoft.Boogie {
n = none (unsound)
p = predicates (default)
a = arguments
+ m = monomorphic
/monomorphize
Do not abstract map types in the encoding (this is an
experimental feature that will not do the right thing if
diff --git a/Source/Graph/Graph.cs b/Source/Graph/Graph.cs
index 236baeb3..e5e8444c 100644
--- a/Source/Graph/Graph.cs
+++ b/Source/Graph/Graph.cs
@@ -99,12 +99,13 @@ namespace Graphing {
if (domineeNum == dominatorNum)
return true;
int currentNodeNum = this.doms[domineeNum];
- do {
+ while (true) {
if (currentNodeNum == dominatorNum)
return true;
+ if (currentNodeNum == this.sourceNum)
+ return false;
currentNodeNum = this.doms[currentNodeNum];
- } while (currentNodeNum != this.sourceNum);
- return false;
+ }
}
private Dictionary<Node, List<Node>> domMap = null;
[Pure]