RE: [sv-ec] Class static member initialization

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Oct 30 2008 - 13:16:47 PDT
Yes, you have corrected me. I should have ignored that detail.

With the term "constant" so overloaded, there are bound to be many
mix-ups.

Dave

> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Thursday, October 30, 2008 12:45 PM
> To: Mark.Hartoog@synopsys.com; sv-ec@eda.org; Rich, Dave
> Subject: RE: [sv-ec] Class static member initialization
> 
> 
> >From: "Rich, Dave" <Dave_Rich@mentor.com>
> 
> >It should print nothing.:-( 13.4.3 says:
> >
> >" - All system task calls within a constant function shall be
ignored."
> 
> An initializer on a class static member is not required to be a
constant
> expression, therefore this is not a constant function call.
> 
> Oddly, an initializer on a class const member is required to be a
constant
> expression, which suggests that it would be a constant function call
in
> that context.  Personally, I think this is a stupid rule.  There is no
> reason why a constant expression should be required in this context.
The
> only rationalization I can see is to try to make "global const"
members
> have the same value in all instances.  If you want that, you can
declare
> it
> static.  The rule also complicates the BNF.  One side effect of that
> complication is that you cannot declare a const class member that is a
> virtual interface.
> 
> Steven Sharp
> sharp@cadence.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Oct 30 13:17:55 2008

This archive was generated by hypermail 2.1.8 : Thu Oct 30 2008 - 13:18:25 PDT