Re: [sv-bc] FW: wildcard import name resolution

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Thu Dec 13 2007 - 07:30:37 PST
Greg, I want to give a bit of perspective on what is going on here.

You said:

   This differs from the rules currently given in the LRM.  A function
   name that is available as potentially locally visible in any of the enclosing
   scopes is considered /before/ later declarations as a function in any
   of those scopes.

That was part of the original entire discussion.

Let's go back to 1364-2005.
   module m;
      task t; endtask
      if (1) begin:b
         initial t();             // (A)
         task t(); endtask
      end
   endmodule

Given the above, everyone agreed that at line (A) t would
bind to m.b.t and NOT to the lexically preceding m.t

I assume that you agree with that as well.

Given that, it seemed bad to have:
   package pkg;
      task t; endtask
   endpackage
   module m;
      import pkg::*;
      if (1) begin:b
         initial t();             // (A)
         task t(); endtask
      end
   endmodule

end up changing the binding of (A) to be pkg::t.


My solution (the original 1809 proposal) was to say that
the reference at line (A) causes the import of t but does
NOT necessarily bind to that import.  So at (A) we would bind
t to m.b.t but the name  "t" would end up as an unreferenced
import in scope m.  This could cause a conflict with another
declaration of t later in m.

Francoise objected to having an *unused* imported name cause
such a conflict.

Her rules are designed to avoid that conflict.

My position is that I am not sure that avoiding the conflict
is necessarily a good idea, particularly in the context of
$unit.  In addition I am not sure that Francoise's rules
correctly account for the 2217 rules for binding dotted
names.

Gord.
-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Dec 13 07:31:32 2007

This archive was generated by hypermail 2.1.8 : Thu Dec 13 2007 - 07:31:57 PST