errata/554: A.2.6: function_declaration BNF bug for return type declarations

From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Wed Mar 03 2004 - 09:00:00 PST

  • Next message: Shalom.Bresticker@motorola.com: "errata/554: Re: errata/554: A.2.6: function_declaration BNF bug for return type declarations"

    >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.