RE: [sv-bc] Doubts on Streaming Operator

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Jan 04 2007 - 09:48:57 PST
But "int j = {>>{a,b,c}};" is an assignment-like context.  The question
is whether a streaming_concatenation can occur outside of such a
context.  There are no examples of such usage in the LRM, and I have
trouble reconciling the error messaging requirements of 8.17 with the
viewpoint that a streaming_concatenation has a self-determined type.  I
contend that a streaming_concatenation is more closely analogous to an
assignment_pattern than to a concatenation.

-- Brad

-----Original Message-----
From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] 
Sent: Thursday, January 04, 2007 12:04 AM
To: Brad Pierce; sv-bc@eda-stds.org
Subject: RE: [sv-bc] Doubts on Streaming Operator

Why should that be?

If we have an example
"int j = {>>{a,b,c}}; // error: j is 32 bits < 96 bits"

that seems to imply that the streaming_concatenation does have a
definite type.

In an assignment pattern, the contents of the pattern are interpreted
according to the context. That does not seem to be the case with a
streaming concatenation. 

So why indeed should it require a cast?

By the way, 8.17 has examples like
"{<<{8'b0011_0101}} // generates stream 'b1010_1100 (bit reverse)".

The notation in the comment "'b1010_1100" is an unsized literal,
implying it is at least 32 bits. I don't think that was the intention.

Shalom


> Regarding your first question, in
> 
>    http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0001526
> 
> I claimed it is not semantically correct, writing --
> 
>    Streaming concatenation, like assignment pattern, has no 
> self-determined type
> 
>    The description in 8.17 that "The stream is not an integral value;
to
> participate in an expression, a cast is required." is both confusing
and
> incomplete.
> 
>    Instead it should echo the text in 8.13 and say something like --
"A
> streaming concatenation has no self-determined data type, but can be 
> used as one of the sides in an assignment-like context when the other 
> side has a self-determined data type or as the operand in a static 
> cast."

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Jan 4 09:49:36 2007

This archive was generated by hypermail 2.1.8 : Thu Jan 04 2007 - 09:50:00 PST