RE: [sv-cc] FW: [sv-bc] External Functions and Tasks proposal


Subject: RE: [sv-cc] FW: [sv-bc] External Functions and Tasks proposal
From: Warmke, Doug (doug_warmke@mentorg.com)
Date: Fri Mar 14 2003 - 11:45:03 PST


Andrzej, Michael,

Answers to your questions/suggestions:

Andrzej's:
The motivation for this is actually separate compilation.
i.e. Maybe some function is defined in $root scope, but it isn't
visible to the current compilation process. In that case the
current process at least needs to have a function prototype so
that it can instantiate a call site of that function. This is
similar to C++'s separate compilation and use of prototypes.

Michael's:
I agree such oscillations are difficult, but actually I think
Vassilios and everyone else expected such oscillations when
combining the work of the different committees. In my opinion,
this is actually a very minor deviation off our recent work.
It's purely a syntax change (extern -> import), which is meant
to disambiguate two conflicting semantics and use models.

Actually with changing our stuff to import, the SV-CC people
who wanted C++-style prototype multiple declarations may be able
to have their cake and eat it too. For example, now "import"
function declarations exactly match the descriptions and
purpose in Joao's proposal. But "external function declarations"
will match SV-BC's separate compilation intentions.

It's interesting to consider a transitive property, in which an
import function declaration can be externally referenced by
a different compilation process. (Actually any SV-BC-style
external function appears to be able to live anywhere in a
visible upwards scope, all the way to $root, which isn't
visible at the exact moment of compilation for the scope
containing the function's call site). Andrzej, do you see
any implementation difficulties in this case?

Thanks and regards,
Doug

> -----Original Message-----
> From: Andrzej Litwiniuk [mailto:Andrzej.Litwiniuk@synopsys.com]
> Sent: Friday, March 14, 2003 8:16 AM
> To: Warmke, Doug
> Cc: sv-cc@eda.org
> Subject: Re: [sv-cc] FW: [sv-bc] External Functions and Tasks proposal
>
>
> > Please see the forwarded proposal from Peter Flake that appeared on
> > SV-BC.
>
> They apparently allow now for multiple-prototypes of a same
> function. Is it a responce to our requests or it has come from their?
>
>
> Andrzej
>
> > -----Original Message-----
> > From: Peter Flake [mailto:Peter.Flake@synopsys.com]
> > Sent: Friday, March 14, 2003 7:27 AM
> > To: sv-bc@server.eda.org
> > Cc: Arturo Salz
> > Subject: [sv-bc] External Functions and Tasks proposal
> >
> >
> > 5.8 External tasks and functions
> >
> > [...]
> > If this external declaration is in $root, the same name can be
> > declared with the same prototype more than once.
>



This archive was generated by hypermail 2b28 : Fri Mar 14 2003 - 11:47:22 PST