デモンストレーション プログラム demo3.cbl は、スキャンされるプログラム内でポインターの暗黙的な定義を作成するためにプロトタイプを使用する方法、および非互換パラメーターのレポート方法を示しています。
cobol demo3.cbl /anim /nognt;UNIX:
cob -a demo3.cblこのプログラムで注視すべきパラメーターは、ptrnum-g グループ項目です。このプログラムで使われる各種の呼び出しのプロトタイプなしに、このソース ファイルは Scan64 を問題なく渡します。
cblscan64 demo3UNIX:
cobscan64 demo3これにより次のレポートが生成されます。
Processing file 'demo3.int' Finished file 'demo3.int' - pointer usage is OK
cblscan64 -m -t demoproto.cpy demo3UNIX:
cobscan64 -m -t demoproto.cpy demo3次のレポートが得られます。
Processing file 'demo3.int' **Possible unsafe modification of 'BY REFERENCE' pointer parameter **in CALL 'CBL_ALLOC_MEM' statement at (file: demo3.cbl, line: 10) Modifier : PTRNUM-G (file: demo3.cbl, def: 5) Pointer : MEM-PTR a formal parm (file: demoproto.cpy, def: 17, ref: 29, no: 1) in CALL prototype of CBL_FREE_MEM (file: demoproto.cpy, def:28) as implicitly def'd by CALL at (file: demo3.cbl, line: 10) **Possible unsafe modification of 'BY VALUE' pointer parameter **in CALL 'CBL_FREE_MEM' statement at (file: demo3.cbl, line: 13) Modifier : PTRNUM-G (file: demo3.cbl, def: 5) Pointer : MEM-PTR a formal parm (file: demoproto.cpy, def: 17, ref: 29, no: 1) in CALL prototype of CBL_FREE_MEM (file: demoproto.cpy, def:28) as implicitly def'd by CALL at (file: demo3.cbl, line: 13) **Unsafe modification of pointer at (file: demo3.cbl, line: 17) Modifier : PTRNUM (file: demo3.cbl, def: 6) Pointer : MEM-DUMMY-PTR (file: demoproto.cpy, def: 19) of formal parm MEM-DUMMY-PTR-G (file: demoproto.cpy, def: 18, ref: 32, no: 1) in CALL prototype of CBL_DUMMY_ALLOC_MEM (file: demoproto.cpy, def:31) as implicitly def'd by CALL at (file: demo3.cbl, line: 15) Finished file 'demo3.int' - pointer problems could existこのレポートには 2 種類の警告が含まれています。