Chapter Contents

Previous

Next
Extended Names

The enxref COOL Option

COOL can optionally produce three extended names cross-references: SNAME, CID, and LINKID. The enxref option controls these three cross-references. The SNAME cross-reference is the most informative.


The SNAME Cross-Reference

The extended names in the SNAME cross-reference are sorted by compilation SNAME. The extended names are in alphabetical order within each SNAME. The SNAME cross-reference is displayed in two columns. Sample SNAME Cross-Reference shows one column of a sample SNAME cross-reference.


Sample SNAME Cross-Reference
C IDENTIFIER (SNAME=PROGRAM) LINK ID WAS Get_Option_String. . . . . . @@002512 (same) Initialize_Printer . . . . . (static) @@002488 Instance_Number . . . . . . @@750321 @@750017 My_Structure_Type_Allocate . . . @@002460 @@750012

The three fields in this example show, from left to right, the original extended name in the C IDENTIFIER field, the external symbol assigned by COOL in the LINK ID field, and the external symbol assigned by the compiler in the WAS field. If the extended name is the name of a static function, that is, a function that is not called from any compilation other than the one in which it is defined, (static) is placed in the LINK ID field. If COOL used the external symbol assigned by the compiler for an extended function name, (same) is placed in the WAS field.

The SNAME cross-reference includes only those extended names that are defined in the compilation. As in the extended name cross-references for the compiler, a reentrant external variable is considered to be defined in every compilation that references it.


The CID Cross-Reference

The second cross-reference is the CID cross-reference. In this cross-reference, the extended names are shown in alphabetical order by original extended name. The CID cross-reference is also displayed in two columns. Sample CID Cross-Reference shows one column of a sample CID cross-reference.


Sample CID Cross-Reference
C IDENTIFIER LINK ID Get_Option_String. . . . . . @@002512 Instance_Number . . . . . . @@750321 My_Structure_Type_Allocate . . . @@002460

Each column of the CID cross-reference contains two fields. The C IDENTIFIER field contains the original extended name. The LINK ID field contains the external symbol assigned by COOL. The names of static functions are not listed in the CID cross-reference.


The LINKID Cross-Reference

The third cross-reference is the LINKID cross-reference. It is also displayed in two columns. The entries are sorted by external symbols that COOL assigns. Sample LINKID Cross-Reference shows one column of a sample LINKID cross-reference.


Sample LINKID Cross-Reference
LINK ID C IDENTIFIER @@002460 . . . . . . . . My_Structure_Type_Allocate @@002512 . . . . . . . . Get_Option_String @@750321 . . . . . . . . Instance_Number

Each column of the LINKID cross-reference contains two fields. The LINK ID field contains the external symbol assigned by COOL. The C IDENTIFIER field contains the original extended name. The names of static functions are not listed in the LINKID cross-reference. See LINK HERE for more information on C IDENTIFIER lengths.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.