The WEAK_EXTERNAL attribute specifies that a variable or routine is not critical to the linking operation. To resolve a weak reference, the linker searches only the named input modules. You can specify an identifier with this attribute to indicate the name by which the corresponding object is known to the linker. Syntax: [WEAK_EXTERNAL] or, [WEAK_EXTERNAL(identifier)] or, [WEAK_EXTERNAL('string-literal')] The 'identifier' is the name of the identifier passed to the linker. If you omit the identifier, the name of the variable is used. The 'string-literal' is the name of the string literal that is passed to the linker unmodified. Compilation units cannot have the EXTERNAL or WEAK_EXTERNAL attribute.