Installation guide

Remove all empty declarations from your program.
You cannot cast the left-hand side of an assignment statement on
DIGITAL UNIX systems. You must remove any such casts.
On ULTRIX systems, you can cast the left-hand side of an assignment
statement, so long as the result of the left-hand side is the same size as
the result of the right-hand side.
On DIGITAL UNIX systems, each identifier declaration must contain
either a type or a storage class. On ULTRIX systems, you can declare
an identifier without specifying a storage class or a type, as shown:
account;
float profit;
In the preceding example, the ULTRIX C compiler assumes that the
account identifier is of type extern int.
The DIGITAL UNIX C compiler issues a warning message if you omit
the ending semicolon in a structure declaration list, as shown:
struct {int a,b} a;
The following shows the correct syntax to use for a structure
declaration list on DIGITAL UNIX:
struct {int a,b;} a;
The DIGITAL UNIX C compiler allows you to use a special struct
declaration to declare two structures that reference each other.
On ULTRIX systems, to declare two structures that reference each
other within a block, you use a declaration similar to the following:
struct x { struct y *p; /* ... */ };
struct y { struct x *q; /* ... */ };
If struct y is declared in an outer block, the first field of struct x
refers to the declaration of struct y in the outer block.
In some cases, you might want the first field of struct x to refer to
the declaration of struct y that follows struct x. To allow this type
of declaration, the DIGITAL UNIX C compiler defines the following
special declaration:
struct y;
struct x { struct y *p; /* ... */ };
struct y { struct x *q; /* ... */ };
The partial declaration, struct y; supersedes the declaration of
struct y in the outer block. The compiler uses the next declaration of
struct y it encounters to define the first field of struct x.
Migrating Your ULTRIX Application to a DIGITAL UNIX System 7–27