Accelerator Manual (G06.24+, H06.03+)
Error, Warning, and Note Messages
Accelerator Manual—527303-002
9-12
Warning Messages
Effect. If the named procedure references the condition codes before performing some 
work that would reset them, then the accelerated code is incorrect. The Accelerator did 
not propagate the value stored in the condition codes from the calling procedure to the 
named procedure.
Recovery. Ignore this warning for non-TAL procedures. If the named TAL procedure 
inherits condition codes from its calling procedure, then specify the InheritsCC_ON 
option for the procedure and accelerate the program again.
This message can be spurious 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.
34 
Cause. The Accelerator assumes that procedures do not reference registers in the 
TNS register stack before resetting them. The Accelerator found a procedure that 
references a register before it resets it. A procedure that references a register before it 
resets it is said to “inherit a register” because the value in the referenced register must 
have been inherited from a calling procedure.
For TAL programs, the USE, STACK, and CODE statements can be used to write 
procedures that inherit registers.
For non-TAL programs, it is not possible to write code that explicitly inherits registers. 
The accelerated code is correct, with one exception for C programs. In versions of the 
C30 C compiler released before 01DEC90, the C run-time library function 
CLIB^EXTFNAME^TO^INTFNAME contained an uninitialized register variable.
The following conditions can cause a spurious Warning 34. The accelerated code is 
correct, so you can safely ignore the warning in these cases:
1. The Accelerator guesses an incorrect RP value (as reported by a note message).
2. An InheritsR0 through InheritsR7 option was specified for a procedure that does 
not really inherit registers.
3. A procedure makes a call to Debug.
Effect. If the named procedure does not reference registers looking for values set by a 
calling procedure, then the accelerated code is correct. If the named procedure 
references registers and expects them to contain values set by a calling procedure (it 
inherits a register), then the accelerated code is incorrect. The Accelerator did not 
propagate the value stored in the register from the calling procedure to the named 
procedure.
Warning 34: The following procedures unexpectedly inherit 
registers: '<proc name>' at offsets(s): <address>










