Bug in vortex?


Subject: Bug in vortex?
From: Keunwoo Lee (klee@cs.washington.edu)
Date: Thu Apr 25 2002 - 13:28:05 PDT


While trying to prepare a bootstrapping RPM distribution of Vortex, I
attempted to build the Cecil interpreter on Linux using a freshly built
Linux Vortex. Build dies with the following error in boolean.cecil.c:

++ compiling assertion_failed(@any):void..
** Fatal error: message "deps" with 1 arg not understood
Current stack frame:
# 0 eval (_anon_closure: <closure>) in form_msg_expr_in,
precedence.cecil:213
  Locals: right: <anon/send_expr/: 0xa46af81>,
          left: <anon/string_literal_expr/: 0xa453229>

The relevant chunk of code is

  if(relationship = "below" |
    { relationship = "same" & { group.associativity = right_assoc } }, {
        -- New operator binds tighter than previous operator. Continue
        -- with next op
        if(options.deps, {
            let d:precedence_dependence :=
               new_precedence_dependence(op, op1, right_assoc);
               d.add(app.current_dep);
        });
        eval(exit);
      }, {

options.deps is the offending call. options is not a local variable. I
conclude that it is a reference to the global object 'options', in
options-misc.cecil, which appears to have no method or field named deps.

   grep -e '\(field\|method\) deps' *.cecil

reveals

  has-nlrs.cecil: var field deps(@:has_nlr_info):nlr_dependence := not_defined;
  ipca-class-set.cecil: field deps(@:monitored_pure_type[`CSDep]):m_set[CSDep] :=
  ipca-class-set.cecil: method deps(@:pure_type):collection[CSDep] { [] }
  method-table.cecil: field deps(mte@:method_table_entry):method_dependence :=

None of these dispatch on options or one of its children. I conclude that
'options.deps' is a bug. Can we fix this?

~k

_______________________________________________
Cecil mailing list
Cecil@cs.washington.edu
http://majordomo.cs.washington.edu/mailman/listinfo/cecil



This archive was generated by hypermail 2b25 : Thu Apr 25 2002 - 13:29:13 PDT