Open topic with navigation
WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
The module identifier string to be included. This must be an alpha expression.
The .IDENT compilation control directive defines a module identifier string to be included in an object record of a routine’s object module. Only the first 15 characters specified in string are used.
Only the first .IDENT encountered before or within a routine is used. Additional .IDENT directives within a given routine will generate a warning.
If you specify the .IDENT directive in a file that contains more than one routine, all routines following the routine with the .IDENT directive use the same module identifier string.
The Synergy librarian displays the .IDENT string when the contents of a library are listed.
You must specify the .IDENT compiler directive for a routine before the compiler emits the object module header. If the compiler encounters an .IDENT compiler directive after it has already written the object module header, it generates an “.IDENT ignored” error (IDIGN). (This may happen if you specify .IDENT at the end of a large routine.)
On UNIX, an .IDENT string is called a “what” string. If you include an .IDENT string in your object file, you can enter:
at your UNIX prompt to get the .IDENT information. “What” strings are available on UNIX systems that have Source Code Control System (SCCS). For more information about “what” strings, refer to your UNIX manual.
On OpenVMS, .IDENT strings are called “module version” strings. If you include an .IDENT string in your object file, you can enter the following at your OpenVMS prompt to get the .IDENT information:
For more information about “module version” strings, refer to your OpenVMS Linker manual.
In the following example, the string “V5.1 ‑ 040392” is included in the object file for the main routine, and “V5.1 ‑ 031092” is included in the sub subroutine’s object file.
main .ident "V8.1 - 040392" proc . . .
endmain subroutine sub .ident "V8.1 - 031092" proc . . .
If the second .IDENT directive is not specified, the first string “V5.1 ‑ 040392” is included in the object files for both routines.
In our example, if you enter
at the UNIX prompt, the following information is printed:
V8.1 – 040392
V8.1 – 031092
If you enter:
at the OpenVMS prompt on an Alpha machine, the following information is printed. (On an I64, the fifth line of text would say, “This is an OpenVMS IA64 (Elf format) object file.”)
Analyze Object File 20-FEB-2006 17:05:41.51 Page 1 DKA600:[NIGEL]FILE.OBJ;1 ANALYZ A05-19
This is an OpenVMS Alpha object file
1. MODULE HEADER (EOBJ$C_EMH), 64 bytes
structure level: 2 maximum record size: 8192 module name: "MAIN$PROGRAM" module version: "V8.1 - 040392" creation date/time: 20-FEB-2006 17:02
2. LANGUAGE PROCESSOR HEADER (EMH$C_LNM), 23 bytes
Textual information: "Synergy DBL 8.1"
3. TITLE HEADER (OBJ$C_HDR_TTL), 18 bytes
Textual information: "MAIN$PROGRAM"
6. END OF MODULE (EOBJ$C_EEOM), 24 bytes
severity successful (0) Highest conditional linkage index: 0 psect: 0 value: 0 (%X’00000000’) transfer address flags: (0) EEOM$V_WKTFR 0
Analyze Object File 20-FEB-2006 17:05:41.51 Page 2 DKA600:[NIGEL]FILE.OBJ;1 ANALYZ A05-19
Record Type Count Total Bytes
OBJ$C_DBG 0 0 OBJ$C_TBT 0 0 EOBJ$C_EMH 3 105 EOBJ$C_EEOM 1 24 EOBJ$C_EGSD 0 0 EOBJ$C_ETIR 0 0 EOBJ$C_EDBG 0 0 EOBJ$C_ETBT 0 0
Totals 4 129
The analysis uncovered NO errors.