Installation guide

The ULTRIX compiler allows you to use a partial string in a macro
definition, as shown:
#define abc "123
You can use this definition in a printf statement, as follows:
printf(abc 456");
The output from this printf statement is the following:
123 456
To get the same effect on a DIGITAL UNIX system, use the following
definition and printf statement:
#define abc "123"
printf(abc " 456");
On DIGITAL UNIX systems, you can use recursive macro definitions
when you specify the std0 option. On ULTRIX systems, you cannot
define macros recursively.
7.4.2.3 Differences that Apply to Strict ANSI Mode
The strict ANSI C DIGITAL UNIX compilation mode (specified by the
std1 option) differs from ULTRIX C in the following ways that can affect
migrating C source code from ULTRIX C:
On DIGITAL UNIX systems, declaring a local and external variable of
the same name causes an error. You must use unique identifier names
for each scope.
On ULTRIX systems, you can declare a local variable of the same name
as an external variable. The local variable has precedence.
On DIGITAL UNIX systems, you must not use a trailing comma in an
enumerator list. ULTRIX systems allow the trailing comma as shown:
enum protocols { TCP, SNMP, OSI, };
The trailing comma causes an error on DIGITAL UNIX systems, so you
must remove it.
On DIGITAL UNIX systems, you cannot specify an empty declaration
such as the following one:
main
{
;
.
.
.
}
7–26 Migrating Your ULTRIX Application to a DIGITAL UNIX System