Section 3.11, 10.3.3 (new), Annex A footnote 8
Restrictions on signing

In Annex A, in footnote 8, REPLACE

            void functions, non integer type functions, and functions with a typedef type cannot have a signing declaration.

WITH

Void functions, non integer type functions, unpacked structure or union functions, and functions with a typedef type cannot have a signing declaration.

 

In 3.11, ADD the following paragraph to the end of the section,

            The signing of unpacked structures is not allowed.  The following declaration would be considered illegal:

            typedef struct signed {

            int f1 ;

            logic f2 ;

      } sIllegalSignedUnpackedStructType // illegal declaration

 

ADD a section 10.3.3

10.3.3 Restrictions on function signing

It shall be illegal to add signing declarations to functions that return one of the following data types:

-          void

-          non integer types

-          unpacked structures or unions

-          data types previously defined by typedef declarations

 

The following function declarations would be considered illegal:

            function signed struct { logic a; byte b;}  IllegalFoo1; // illegal function declaration

              

      endfunction

      typedef struct { logic a; byte b; } unpackedstruct;

      function signed unpackedstruct IllegalFoo2; // illegal function declaration

           

      endfunction