Section 6.9.1
Scope of a type
In 6.9, at the end of the subclause, ADD the following paragraph
The scope of a data type
identifier shall include the hierarchical instance scope. This means that each instance with a
user-defined type declared inside the instance creates a unique type. To have type matching or equivalence
among multiple instances of the same module, interface or program, a class,
enum, unpacked structure or unpacked union type must be declared at a higher
level in the compilation unit scope than the declaration of the module,
interface or program, or imported from a package. For type matching, this is true even for
packed structure and packed union types.
In 6.9.1, REPLACE
8) A typedef for an enum, struct, union, or class type declared in a package always matches itself, regardless of the scope into which the type is imported. The scope of a type identifier includes the hierarchical instance scope. This means that each instance with a user-defined type declared inside the instance creates a unique type. To have type matching among multiple instances of the same module, interface, or program, a type must be declared at higher level in the compilation unit scope than the declaration of the module, interface or program, or imported from a package.
WITH
8)
A typedef for an enum, struct, union, or class type declared in a package always
matches itself, regardless of the scope into which the type is imported.
The scope of a type identifier includes the
hierarchical instance scope. This means that each instance with a user-defined
type declared inside the instance creates a unique type. To have type matching
among multiple instances of the same module, interface, or program, a type must
be declared at higher level in the compilation unit scope than the declaration
of the module, interface or program, or imported from a
package.
In 6.9.2, REPLACE
8)
A typedef for an enum, unpacked struct, or unpacked union, or a class type
declared in a package is always equivalent to itself, regardless of the scope
where the type is imported.
The
scope of a type identifier includes the hierarchical instance scope. This means
that each instance with user-defined types declared inside the instance creates
a unique type. To have type equivalence among multiple instances of the same
module, interface, or program, a type must be declared at higher level in the
compilation unit scope than the declaration of the module, interface or program,
or imported from a package.
WITH
8)
A typedef for an enum, unpacked struct, or unpacked union, or a class type
declared in a package is always equivalent to itself, regardless of the scope
where the type is imported.
The scope of a type identifier includes the hierarchical instance scope. This means that each instance with user-defined types declared inside the instance creates a unique type. To have type equivalence among multiple instances of the same module, interface, or program, a type must be declared at higher level in the compilation unit scope than the declaration of the module, interface or program, or imported from a package.