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

Preparing Your Program for the Accelerator
Accelerator Manual527303-002
3-13
Procedure Name Conflicts
Procedure Name Conflicts
A program can call several procedures of the same name, as long as each of the
procedures resides in a different code space. For example, a program can call a
system library procedure named File_Close_ and a user library procedure named
File_Close_. Each of these procedures can have a different return value size. The
Accelerator must determine the return value size for all procedures called by a
program. When the Accelerator processes such a program, it resolves the name
conflict in favor of the system library procedure. This can result in an incorrectly
accelerated program. HP strongly recommends that you do not give your procedures
names that conflict with system procedure names.
Detection Guideline
The Accelerator issues Warnings 30, 31, or 32:
Warning 30: The ReturnValSize options given for the
following procedures conflict with the Binder region:
<proc name>; <value> given as an option;
<value> given in the Binder region
The Accelerator's translation is based on the option.
Warning 31: The ReturnValSize options given for the
following procedures conflict with the derived estimates:
<proc name>; <value> given as an option;
<value> derived by the Accelerator
The Accelerator's translation is based on the option.
Warning 32: The return value sizes derived for the
following procedures conflict with those given in the
Binder region:
<proc name>; <value 1> derived by the Accelerator;
<value 2> given in the Binder region
Acceleration is based on the Binder region; you can
override that value with a ReturnValSize option.
Required Change
Use the Accelerator ReturnValSize UNKNOWN:
ReturnValSize procedure-name UNKNOWN
where procedure-name is the name of the procedure, and UNKNOWN tells the
Accelerator to generate code that checks the return value size for each procedure
call at run time.
You must specify a ReturnValSize option for each procedure, using a scoping
directive to distinguish between the two procedures.