VMS Help
PASCAL, Attributes, Visibility

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

  The visibility attributes indicate the ability of an  object  to
  be shared by compilation units.

  1 - LOCAL

  The LOCAL attribute indicates that an object is  unavailable  to
  other  independently  compiled units.  By default, all variables
  and routines are local.

  See the  "Compaq  Pascal  Language  Reference  Manual"  for  the
  complete description of using the LOCAL attribute.

  2 - GLOBAL

  The GLOBAL attribute provides a strong definition of a  variable
  or  routine so that other independently compiled units can refer
  to it.

  Syntax:

     [GLOBAL]

  or,

     [GLOBAL(idenifier)]

  or,

     [GLOBAL('string-literal')]

  The 'identifier' is the name of the  identifier  passed  to  the
  linker.   It  is passed in uppercase on OpenVMS systems.  If you
  omit the identifier, the name of the variable is used.

  The 'string-literal' is  a  specified  string  literal  that  is
  passed unmodified to the linker.

  See the  "Compaq  Pascal  Language  Reference  Manual"  for  the
  complete description of using the GLOBAL attribute.

  3 - EXTERNAL

  The EXTERNAL attribute indicates a variable or routine  that  is
  assumed to be global in another independently compiled unit.

  Syntax:

     [EXTERNAL]

  or,

     [EXTERNAL(identifer)]

  or,

     [EXTERNAL('string-literal')]

  The 'identifer' is the name of  the  identifier  passed  to  the
  linker.   It  is passed in uppercase on OpenVMS systems.  If you
  omit the identifier, the name of the variable is used.

  The 'string-literal' passes a specified  string-literal  to  the
  linker unmodified.

  4 - WEAK_EXTERNAL

  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.

  5 - WEAK_GLOBAL

  The WEAK_GLOBAL attribute specifies that  an  object  is  linked
  only  when it is specifically included in the linking operation.
  To resolve a weak reference, the linker searches only the  named
  input  modules.   You  can specify an identifier to indicate the
  name by which the corresponding object is known to the linker.

  Syntax:

     [WEAK_GLOBAL]

  or,

     [WEAK_GLOBAL(identifier)]

  or,

     [WEAK_GLOBAL('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' passes a specified string  literal  to  the
  linker unmodified.

  See the  "Compaq  Pascal  Language  Reference  Manual"  for  the
  complete description of using the WEAK_GLOBAL attribute.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.