-proto

Provides more extensive prototype checking on arguments vs. parameters in entry declarations.

Dependencies

Enabled by default when using the -vax compiler option.

Example

In this example, -proto generates the following diagnostic, enabling the compiler to recognize the mismatched declaration between the included entry declaration and the actual procedure declaration:

MFPLI00256W : Parameter "A" type conflicts with the parameter type and/or attributes declared in the EXTERNAL ENTRY declaration for the same PROCEDURE
myproc.dcl
------------
declare myproc external entry(
  fixed binary(31),
  fixed binary(15),
  fixed binary(15));

myproc.pli
------------
%include 'myproc.dcl';

myproc: procedure(a,b,c);
  declare a fixed binary(15);  / * mismatch  with “myproc.dcl” */
  declare b fixed binary(15);
  declare c fixed binary(15);
end;

callmypr.pli
-------------
callmypr:proc;
  %include 'myproc.dcl';

  call myproc (1,2,3);
end;