RE: [sv-bc] E-mail Ballot: Respond by Wed Sep 05 8am PDT

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Wed Sep 05 2007 - 12:50:26 PDT
I have checked the SV 3.0 LRM. There it is explicit that a non-void
function could also be used as a statement. So the question is what
should be in IEEE 1800.

I hope the mail server gets fixed soon.

Shalom 

> -----Original Message-----
> From: Mark Hartoog [mailto:Mark.Hartoog@synopsys.com] 
> Sent: Wednesday, September 05, 2007 8:11 PM
> To: Bresticker, Shalom; Mark Hartoog
> Cc: sv-bc@eda.org
> Subject: RE: [sv-bc] E-mail Ballot: Respond by Wed Sep 05 8am PDT
> 
> The references you point to all indicate that a non-void 
> function is an expression operand. However, I think the 
> sentence "Calling a nonvoid function as if it has no return 
> value can result in a warning message."
> is very clear as to what the intent of the LRM was. The 
> intent was that at most this would produce a warning. Note 
> that the sentence does not even require a warning. It just 
> says "can result in a warning". Both C and Java give at most 
> warnings for discarding the return value of a non void function.
> 
> I think that an error was not the original intent of the LRM 
> and that changing this to an error would be a backwards 
> compatibility issue.  
> 
> > -----Original Message-----
> > From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com]
> > Sent: Tuesday, September 04, 2007 10:08 PM
> > To: Mark Hartoog
> > Cc: sv-bc@eda.org
> > Subject: RE: [sv-bc] E-mail Ballot: Respond by Wed Sep 05 8am PDT
> > 
> > Mark,
> > 
> > > SVDB 1988 ___Yes   _x__No  
> > > http://www.eda.org/svdb/bug_view_page.php?bug_id=1988
> > > I believe we should discuss whether this should be a 
> warning or an 
> > > error. The old text could be confusing, but seemed to
> > indicate it was
> > > a warning. This new text clearly makes it an error. I am
> > not sure that
> > > is what users want.
> > 
> > Reminder to everyone: the issue is:
> > 
> > '13.4.2 says,
> > 
> > "Functions that return a value must be assigned or used in an 
> > expression. Calling a nonvoid function as if it has no return value 
> > can result in a warning message."
> > 
> > The first sentence implies that it is not possible to use a nonvoid 
> > function like a void function. The second implies that it 
> is possible, 
> > just may give a warning.'
> > 
> > I would like to point out some additional sources:
> > 
> > 13.2: "A nonvoid function shall return a single value". A statement 
> > can not be a value.
> > 
> > 13.4.1: "Function calls are expressions unless of type 
> void, which are 
> > statements." An expression is not a statement.
> > 
> > 13.5: "A nonvoid function call is an operand within an expression."
> > 
> > I think all these make clear that it was not intended to allow a 
> > nonvoid function call as a statement. Especially the first sentence 
> > quoted from 13.4.2, which uses the word "must".
> > 
> > The void cast exists exactly to allow users to do that. 
> > Otherwise, what is the point?
> > 
> > Regards,
> > Shalom
> > 
> 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Sep 7 15:35:29 2007

This archive was generated by hypermail 2.1.8 : Fri Sep 07 2007 - 15:36:14 PDT