HP OpenVMS Systems Documentation

Content starts here

HP Pascal for OpenVMS
User Manual

Previous Contents Index

Table 1-13 lists the available options, their corresponding actions, and their negations.

Table 1-13 /USAGE Qualifier Options
Option Action Negation
ALL Enables checking of all options. NONE
EMPTY_RECORDS Checks for fetching records with no fields. Such fields are usually created by the %DICTIONARY directive for unsupported data types. NOEMPTY_RECORDS
(OpenVMS I64 and OpenVMS Alpha systems)
Specifies that the compiler should issue warning messages for code sequences that might not match your granularity request from the /GRANULARITY qualifier.

When the compiler cannot guarantee that the generated code matches the granularity setting, a warning message is issued. You should examine your code to make sure that the variable being accessed is quadword-aligned and is a multiple of quadwords in size. In this case, the resulting code will be correct, although the compiler might not be able to determine that at compile time. Such cases involve pointer dereferences or VAR parameters.

These messages are enabled by default by the compiler.

PACKED_ACTUALS Checks for passing components of packed structures to VAR parameters. NOPACKED_ACTUALS
(OpenVMS I64 and OpenVMS Alpha systems)
Checks for variables and record fields that are poorly sized or aligned on inefficient boundaries. This provides the same information that is found in the /SHOW=STRUCTURE_LAYOUT listing section. NOPERFORMANCE
(OpenVMS I64 and OpenVMS Alpha systems)
Specifies whether the compiler should issue informational messages for routines that are declared but never called. NOUNCALLABLE
UNCERTAIN Checks for variables that can be uninitialized depending on program flow. NOUNCERTAIN
UNINITIALIZED Checks for variables that are known to be uninitialized. NOUNINITIALIZED
UNSUPPORTED_CDD Checks for usage of
CDD/Repository constructs that do not correspond to HP Pascal data types.
UNUSED Checks for variables that are declared but never referenced. NOUNUSED
(OpenVMS I64 and OpenVMS Alpha systems)
Checks for VOLATILE variables that are not aligned properly. On OpenVMS I64 and OpenVMS Alpha systems, certain unaligned VOLATILE variables cannot be updated in an atomic fashion. NOVOLATILE

The following types of variables are not checked for uninitialization:

  • Variables that have a file component
  • Predeclared INPUT or OUTPUT identifiers
  • Variables that have global, external, or inherited visibility
  • Variables declared with the AT attribute
  • Variables declared with the COMMON attribute
  • Variables declared with the READONLY attribute
  • Variables declared with the VOLATILE attribute
  • Variables used as parameters
  • Variables used as function identifiers

The /USAGE qualifier without options is equivalent to /USAGE=ALL. The negation /NOUSAGE is equivalent to /USAGE=NONE.

The HP Pascal compiler can detect when some variables are uninitialized; however, it cannot detect that an uplevel variable is uninitialized at the point at which it was referenced. This is because at the time the routine is lexically scanned, the compiler has not seen any of the calls to that routine.


/NOVERSION (default)

Controls whether the compiler prints compiler and OpenVMS version information to SYS$OUTPUT and then returns to the operating system. No other command qualifiers or source files are processed when /VERSION is used.


/WARNINGS (default)

Directs the compiler to generate diagnostic messages in response to warning-level or informational-level errors.

By default, these messages are written to the error file SYS$ERROR. A warning or informational diagnostic message indicates that the compiler has detected acceptable but unorthodox syntax or has performed some corrective action; in either case, unexpected results can occur.

Note that informational messages generated when you specify the /STANDARD qualifier do not appear if /NOWARNINGS is enabled.

/[NO]ZERO_HEAP (OpenVMS I64 and OpenVMS Alpha systems)

/ZERO_HEAP (default)

Specifies that heap memory should be zeroed after allocation. By default, the Pascal RTL will return zero-filled memory for each call to the NEW built-in. Using the /NOZERO_HEAP qualifier can increase runtime performance.

For More Information:

  • On debugging ( Section 4.1)
  • On text libraries ( Section 1.1.4)
  • On LSE and SCA information ( Section 4.2)
  • On error messages ( Section 1.4)
  • On the contents of a compiler listing ( Section 1.1.3)
  • On Pascal standards (HP Pascal for OpenVMS Language Reference Manual)
  • On using environment files ( Section 2.1)
  • On the AND_THEN and OR_ELSE Boolean operators (HP Pascal for OpenVMS Language Reference Manual)

1.1.3 Contents of the Compilation Listing File

You control the contents of a compilation listing by appending qualifiers to the PASCAL command. Table 1-14 lists the parts of a complete compilation listing and the qualifiers that cause them to be generated.


Table 1-14 Compilation Listing Contents and Qualifiers