[sv-bc] Query regarding package export

From: Alok Kumar Sinha <aksinha_at_.....>
Date: Fri Feb 20 2009 - 03:40:18 PST
Hi,

LRM P1800-2009-draft7a defines export statement in section "26.6 
Exporting imported names from packages" with some examples. I have the 
following question regarding that.

Can I expect an exported item via another package is visible to the 
scope where the via package is actually imported instead of the package 
which actually exports? LRM is not clear on that. And the standard 
simulator which supports export is not consistent too.

Consider the following e.g:

package p1;
    int x,y;
endpackage
 
package p2;
    import p1::x;
    export *::*;      // p1 :: x is made available from here.
endpackage

package p3;
    import p2::*;
    export p2::*;
    int z = x;        // Since x is being referenced,   is p1 ::  x  is 
made available from p3 ?
                          
endpackage
 
module top;
     import p3::*;
     int z = x;     // Is it legal and refers to p1::x ?
endmodule

The standard simulator is failing on above case complaining for 
undefined 'x' in module top.
Please note that if in package 'p3',
   export p2::*
 is replaced by
   export p2::x
then it is fine.

I think both of them should be fine.

Thanks and Regards
Alok



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Feb 20 03:42:11 2009

This archive was generated by hypermail 2.1.8 : Fri Feb 20 2009 - 03:42:47 PST