A SERVICE OF

logo

Programming Release Notes
5.21 HP BLISS Compiler Warnings with RMS Structures (Integrity servers Only)
In addition, if any of these allocations is included in a PSECT that contains
an explicit alignment that is in conict with ALIGN(3) (that is, is lower than
ALIGN(3)), the BLISS compiler issues an ‘‘align request negative or exceeds that
of psect’’ warning. For example, the warning would be issued for the following
declaration:
PSECT OWN = $OWN$ (..., ALIGN(2), ...)
OWN
FAB = $FAB_DECL, ...
If warnings on PSECT alignment are seen when recompiling a BLISS application,
the correction is to increase the alignment of the PSECT to ALIGN(3) (or higher).
In rare cases, applications may have assumptions on adjacency of data between
PSECTs. Those assumptions could be broken in making this change. Therefore,
check the code for such assumptions and make any necessary corrections.
While a number of OpenVMS utilities are written in BLISS, only a few warnings
were generated in a full OpenVMS build. Changes in OpenVMS to eliminate
warnings did not require other changes to correct assumptions. Based on this,
few user applications likely will require modication.
5.22 Potential Must-Be-Zero RMS Error: Making Room for New File
Options in the FAB
V8.3
There is very little remaining unassigned space in the RMS user le access block
(FAB). To allow for future growth in le-processing options implemented through
the FAB, the last unassigned bit in the le-processing options eld in the
FAB
(FAB$L_FOP)
has been dened as the
FAB$V_EXTEND_FOP
option. This option will
be used in the future to request and validate assignments to two new FAB elds
that span previously unused bytes in the FAB:
FAB$W_FOPEXT
: The FOPEXT word eld is reserved for the denition of new
le-processing options that might require implementation in the future.
FAB$W_RESERVED_MBZ
: The
RESERVED_MBZ
word eld is being reserved for
future use. Its usage is currently open for future denition.
In a future release, when one or more new le-processing options are
implemented, the
FAB$V_EXTEND_FOP
bit will have to be set in the
FAB$L_FOP
eld to take advantage of any new option in the
FOPEXT
eld. However, when it is
set, it will also indicate that any undened bits in the
FOPEXT
eld are clear and
FAB$W_RESERVED_MBZ
contains a zero. If these conditions are not met when this
bit is set, a fatal error
(RMS-F-FOPEXTMBZ)
will be returned to the user for any
RMS le-level service.
The addition of the
EXTEND_FOP
option is fully upwardly compatible except if a
user sets this last bit in the
FAB$L_FOP
eld by accident and either of these two
new FAB elds happens to be nonzero. Previously, RMS ignored this last bit in
the
FAB$L_FOP
eld if it was set by accident.
If the
RMS-F-FOPEXTMBZ
error is returned, you must clear either the
EXTEND_FOP
option in the
FAB$L_FOP
eld or the two new elds
(FAB$W_FOPEXT) and
FAB$W_RESERVED_MBZ
.
Programming Release Notes 5–17