Add Proposal | Add Analysis | Edit Class, Environment, or Release |
Number | 650
|
Category | errata
|
Synopsis | 9.7.6 does not explicitly say what happens if "wait" condition is
|
State | open
|
Class | errata-simple
|
Arrival-Date | Feb 15 2005
|
Originator | Shalom Bresticker <Shalom.Bresticker@freescale.com>
|
Release | 2001b
|
Description |
|
Fix |
Unknown |
Audit-Trail |
From: Steven Sharp <sharp@cadence.com> To: etf-bugs@boyd.com, Shalom.Bresticker@freescale.com Cc: Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 13:51:01 -0500 (EST) 9.6 does not specify what happens if a "while" condition is x or z either. It does specify it for a "for" condition. 9.4 does define what it means for an expression to evaluate as "true" or "false". It does so in the context of "if" statements, but there is nothing to restrict the definition to that context. So that definition would apply to these other situations that refer to an expression being "true" or "false" also. It may not be the best organized, but I think it is specified. Steven Sharp sharp@cadence.com From: Shalom.Bresticker@freescale.com To: Steven Sharp <sharp@cadence.com> Cc: etf-bugs@boyd.com Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 21:06:18 +0200 (IST) I agree that this was the intent. However, the terms true and false are almost certainly used in other contexts where x and z are not included. So it would be more precise to say that x is considered false in the context of a condition, not an arbitrary expression. And even there, there are exceptions. Remember issue 237? Further, if someone looks up what is written in 9.6 or 9.7.6, there is no reason he should think that 9.4 is relevant. I see no reason not to specify it more clearly. Shalom On Tue, 15 Feb 2005, Steven Sharp wrote: > 9.6 does not specify what happens if a "while" condition is x or z either. > It does specify it for a "for" condition. > > 9.4 does define what it means for an expression to evaluate as "true" or > "false". It does so in the context of "if" statements, but there is > nothing to restrict the definition to that context. So that definition > would apply to these other situations that refer to an expression being > "true" or "false" also. It may not be the best organized, but I think > it is specified. From: Steven Sharp <sharp@cadence.com> To: etf-bugs@boyd.com, Shalom.Bresticker@freescale.com Cc: Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 15:54:30 -0500 (EST) > I agree that this was the intent. However, the terms true and false are almost > certainly used in other contexts where x and z are not included. So it would > be more precise to say that x is considered false in the context of a > condition, not an arbitrary expression. > > And even there, there are exceptions. Remember issue 237? For that issue, the text in 15.6 clearly states how x is treated, and does not use the terms true and false. The correctness of the text is questionable, but it does not appear to conflict with the definitions of true and false. The conditional operator also describes how x is treated. However, it uses the terms true and false, and defines them differently from the definition for "if" statements. This could create confusion. > Further, if someone looks up what is written in 9.6 or 9.7.6, there is no > reason he should think that 9.4 is relevant. I agree that the organization is poor. It may work for someone reading the text from front to back, but not for someone looking something up. It could be specified better by repeating the definition every place it is used, or by moving the definition into a separate section and stating that it apples to all conditions in procedural statements. Steven Sharp sharp@cadence.com From: Shalom.Bresticker@freescale.com To: Steven Sharp <sharp@cadence.com> Cc: etf-bugs@boyd.com Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Wed, 16 Feb 2005 04:56:53 +0200 (IST) Yes to all you wrote. By chance, I am reviewing Clause 14 (Specify blocks) due to some specify syntax which appears to be accepted by most of the simulators, but is not allowed by the BNF. (Expect an errata on it in the near future.) 14.2.4.1 says, "If the conditional expression evaluates to x or z, it shall be treated as true." Again, in context that is probably the correct behavior, but it is different than elsewhere. Shalom On Tue, 15 Feb 2005, Steven Sharp wrote: > > > I agree that this was the intent. However, the terms true and false are almost > > certainly used in other contexts where x and z are not included. So it would > > be more precise to say that x is considered false in the context of a > > condition, not an arbitrary expression. > > > > And even there, there are exceptions. Remember issue 237? > > For that issue, the text in 15.6 clearly states how x is treated, and > does not use the terms true and false. The correctness of the text is > questionable, but it does not appear to conflict with the definitions > of true and false. > > The conditional operator also describes how x is treated. However, it > uses the terms true and false, and defines them differently from the > definition for "if" statements. This could create confusion. > > > > Further, if someone looks up what is written in 9.6 or 9.7.6, there is no > > reason he should think that 9.4 is relevant. > > I agree that the organization is poor. It may work for someone reading > the text from front to back, but not for someone looking something up. > It could be specified better by repeating the definition every place it > is used, or by moving the definition into a separate section and stating > that it apples to all conditions in procedural statements. > > Steven Sharp > sharp@cadence.com > -- Shalom Bresticker Shalom.Bresticker @freescale.com Design & Verification Methodology Tel: +972 9 9522268 Freescale Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 5441478 [ ]Freescale Internal Use Only [ ]Freescale Confidential Proprietary |
Unformatted |
x or z |
Hosted by Boyd Technology