Accelerator Manual (G06.24+, H06.03+)

Setting Accelerator Options
Accelerator Manual527303-002
5-4
Inheritance of Condition Codes
The Accelerator issues Warning 33 when it detects a procedure that it suspects of
inheriting condition codes. The Accelerator can detect most, but not all procedures that
inherit condition codes.
Warning 33: The following procedures unexpectedly inherit
condition codes:
'<proc name>' at offsets(s): <address>
When the Accelerator issues this warning, examine the procedure’s code to make sure
that the procedure actually relies on the inheritance of condition codes. If the
procedure relies on the condition code values, set the InheritsCC_On option for that
procedure and accelerate your program again. For example, the procedure First relies
on the inheritance of condition codes.
PROC first;
BEGIN
IF < THEN ; ! Inherits condition codes
... ! Do something
END;
Warning 33 can be a false warning if:
The first line of a procedure calls an external procedure and the Accelerator cannot
determine the return value size of the external procedure because the external
procedure is in a user library that has not been accelerated and specified in a
UserLib option. Specify a UserLib option to eliminate this warning and to generate
more efficient code.
You incorrectly specify an InheritsCC_On option. The warning message is issued
for procedures that call the procedure incorrectly specified with InheritsCC_On. In
the following example, if you incorrectly specify InheritsCC_On Second, the
Accelerator might issue Warning 33 for the calling procedure (Third). This is a false
warning since neither Second nor Third rely on the inheritance of condition codes.
IPROC Second;
BEGIN
! Do something
END;
Proc Third;
BEGIN
CALL PROC Second;
END;
The inheritance of condition codes does not significantly affect most programs.
Super Option Settings
The Common and Fast options set InheritsCC_Off, and the Safe option sets
InheritsCC_On.