From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Wed Mar 03 2004 - 09:00:00 PST
>Number: 554
>Category: errata
>Originator: "Brad Pierce" <Brad.Pierce@synopsys.com>
>Description:
In function_declaration, the BNF for the return type does
not match the apparent intent. I would have expected the
possible function return type declarations to be like
those in a tf_output_declaration, which allows
[ reg ] [ signed ] [ range ]
and
task_port_type
where a task_port_type is integer, real, realtime or time.
The function_declaration BNF, however, also allows the following
additional weird function return type declarations
signed integer
signed real
signed realtime
signed time
(and doesn't allow 'reg' before the implicit declaration).
But integer, real and realtime are already signed, so
the only return type this actually adds is 'signed time',
which was probably not the intent.
So, in my opinion, the BNF has a bug and should instead
be allowing function return type declarations that are
either exactly the same as allowed by tf_output_declaration
or exacly those minus the optional 'reg'. (For more on the
optional 'reg', see issue 452.) Personally, 'exactly the same'
seems like the way to go.
-- Brad
This archive was generated by hypermail 2.1.4
: Wed Mar 03 2004 - 09:00:03 PST
and
sponsored by Boyd Technology, Inc.