Copyright Digital Equipment Corp. All rights reserved.

/NAMES

    /NAMES=(option1,option2)
    /NAMES=(UPPERCASE,TRUNCATED) (D)

 Option1 converts all definitions and references of external symbols
 and psects to the specified case:

  o  /NAMES=UPPERCASE (default) converts to uppercase.

  o  /NAMES=AS_IS leaves the case unchanged.

 Option2 controls whether or not long external names greater than 31
 characters get truncated or shortened:

  o  /NAMES=TRUNCATED (default) truncates long external names

  o  /NAMES=SHORTENED shortens long external names.

     A shortened name consists of the first 23 characters of the
     name followed by a 7-character Cyclic Redundancy Check (CRC)
     computed by looking at the full name, and then a "$".

     The CRC is generated by calling lib$crc as follows:

     long       initial_crc = -1;
     crc_result = lib$crc(good_crc_table,
                          &initial_crc,
                          <descriptor of string to CRC>);

     where good_crc_table is:

     /*
     ** Default CRC table:
     **
     **  This table was taken from Ada's generalized name generation
     **  algorithm.  It represents a commonly used CRC polynomial 
     **  known as AUTODIN-II.  For more information see the VAX 
     **  Macro OpenVMS documentation under the CRC VAX instruction.
     */

         static const unsigned int good_crc_table[16] =
                  {0x00000000, 0x1DB71064, 0x3B6E20C8, 0x26D930AC,
                   0x76DC4190, 0x6B6B51F4, 0x4DB26158, 0x5005713C,
                   0xEDB88320, 0xF00F9344, 0xD6D6A3E8, 0xCB61B38C,
                   0x9B64C2B0, 0x86D3D2D4, 0xA00AE278, 0xBDBDF21C};

 By default, the compiler issues a warning and truncates the name to
 31 characters.

 The /NAMES qualifier does not affect the names of the $ABS$, $BSS$,
 $CODE$, $DATA$, $LINK$, $LITERAL$, and $READONLY$ psects.