VMS Help  —  CC  /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.
Close Help