From 4854cead4f4793a1e9b5c663afaedaab07cbcf20 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Thu, 5 Feb 2009 02:44:45 -0400 Subject: When recompiled an expr_t, forget old definitions. --- src/op.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/op.cc b/src/op.cc index 685c65bf..b6bce96d 100644 --- a/src/op.cc +++ b/src/op.cc @@ -49,6 +49,9 @@ expr_t::ptr_op_t expr_t::op_t::compile(scope_t& scope) } return copy(def); } + else if (left()) { + return copy(); + } return this; } @@ -427,7 +430,8 @@ void expr_t::op_t::dump(std::ostream& out, const int depth) const switch (kind) { case VALUE: - out << "VALUE: " << as_value(); + out << "VALUE: "; + as_value().dump(out); break; case IDENT: -- cgit v1.2.3