summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/record.cc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
committerKarl Berry <karl@freefriends.org>2009-08-15 23:57:48 +0000
commit16d128e5e10d541a78654b86409d5a3539f07708 (patch)
tree66de0af63c3811bb3040c16e9b52c11985f70811 /Build/source/utils/asymptote/record.cc
parentb20f78c549859ec0e8610bdd3ad904245e86b489 (diff)
asymptote 1.83
git-svn-id: svn://tug.org/texlive/trunk@14696 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/record.cc')
-rw-r--r--Build/source/utils/asymptote/record.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/Build/source/utils/asymptote/record.cc b/Build/source/utils/asymptote/record.cc
index b19083d51d4..a09aff54cf2 100644
--- a/Build/source/utils/asymptote/record.cc
+++ b/Build/source/utils/asymptote/record.cc
@@ -22,6 +22,9 @@ record::record(symbol *name, frame *level)
e()
{
assert(init);
+#ifdef DEBUG_STACK
+ init->name = "struct "+string(*name);
+#endif
}
record::~record()
@@ -32,7 +35,7 @@ record *record::newRecord(symbol *id, bool statically)
frame *underlevel = getLevel(statically);
assert(underlevel);
- frame *level = new frame(underlevel, 0);
+ frame *level = new frame(*id, underlevel, 0);
record *r = new record(id, level);
return r;
@@ -45,7 +48,7 @@ trans::access *record::initializer() {
}
dummyRecord::dummyRecord(symbol *name)
- : record(name, new frame(0,0))
+ : record(name, new frame(*name, 0,0))
{
// Encode the instructions to put an placeholder instance of the record
// on the stack.
@@ -54,7 +57,7 @@ dummyRecord::dummyRecord(symbol *name)
}
dummyRecord::dummyRecord(string s)
- : record (symbol::trans(s), new frame(0,0))
+ : record (symbol::trans(s), new frame(s,0,0))
{
// Encode the instructions to put an placeholder instance of the record
// on the stack.
@@ -70,6 +73,7 @@ void dummyRecord::add(string name, ty *t, trans::access *a,
void dummyRecord::add(string name, function *t, vm::bltin f,
trans::permission perm) {
+ REGISTER_BLTIN(f, name);
add(name, t, new trans::bltinAccess(f), perm);
}