summaryrefslogtreecommitdiff
path: root/BCT
diff options
context:
space:
mode:
authorGravatar qadeer <qadeer@microsoft.com>2011-08-25 00:03:09 -0700
committerGravatar qadeer <qadeer@microsoft.com>2011-08-25 00:03:09 -0700
commit299f953e56e574e092480da376bdd1d9d8155f5d (patch)
treebfad13dcc5767ac56ae313098891d1ec457770db /BCT
parent3018764af49a2cc1a1ab2a597d6dbe8f9bfd3ae5 (diff)
fixed a bug: do not include the invoke procedure for thread delegates in the set of initially declared procedures. The principle is that any procedure whose body will be created dynamically, its header should also be created dynamically
Diffstat (limited to 'BCT')
-rw-r--r--BCT/BytecodeTranslator/Program.cs2
-rw-r--r--BCT/BytecodeTranslator/Sink.cs1
2 files changed, 2 insertions, 1 deletions
diff --git a/BCT/BytecodeTranslator/Program.cs b/BCT/BytecodeTranslator/Program.cs
index 3a89a3da..90d17d11 100644
--- a/BCT/BytecodeTranslator/Program.cs
+++ b/BCT/BytecodeTranslator/Program.cs
@@ -503,7 +503,7 @@ namespace BytecodeTranslator {
rexpr = sink.Heap.Unbox(Bpl.Token.NoToken, ltype, rexpr);
}
else {
- System.Diagnostics.Debug.Assert(ltype == rtype);
+ System.Diagnostics.Debug.Assert(false);
}
stmtBuilder.Add(TranslationHelper.BuildAssignCmd(lexpr, rexpr));
}
diff --git a/BCT/BytecodeTranslator/Sink.cs b/BCT/BytecodeTranslator/Sink.cs
index ea6e0878..f3c11895 100644
--- a/BCT/BytecodeTranslator/Sink.cs
+++ b/BCT/BytecodeTranslator/Sink.cs
@@ -49,6 +49,7 @@ namespace BytecodeTranslator {
foreach (var d in this.TranslatedProgram.TopLevelDeclarations) {
var p = d as Bpl.Procedure;
if (p != null) {
+ if (Bpl.QKeyValue.FindBoolAttribute(p.Attributes, "extern")) continue;
this.initiallyDeclaredProcedures.Add(p.Name, new ProcedureInfo(p));
}
}