IDENTIFICATION
DIVISION.
PROGRAM-ID.
prog.
DATA
DIVISION.
WORKING-STORAGE
SECTION.
01 XX.
02
XX-1 PIC X(4) VALUE "1234".
02
XX-2 PIC X(4) VALUE "5678".
01 P-XX-1
POINTER.
01 P-XX-2
POINTER.
LINKAGE
SECTION.
01 Y2
PIC X(4).
PROCEDURE
DIVISION USING Y2.
SET
P-XX-1 TO ADDRESS OF XX-1
SET
P-XX-2 TO ADDRESS OF XX-2
SET
ADDRESS OF Y2 TO ADDRESS OF XX-1
SET
ADDRESS OF Y2 UP BY 4
IF
Y2 NOT = XX-2
DISPLAY "Test 2 '" Y2 "'"
END-DISPLAY
END-IF
IF
ADDRESS OF Y2 NOT= P-XX-2
DISPLAY "Pointer test failed"
END-IF
STOP
RUN.
compile command: cobc -g -x call-it.cob
prog.cob
the generated C code for prog.cob
int
prog (cob_u8_t *b_10)
{
return prog_ (0, b_10);
}
static int
prog_ (const int entry, cob_u8_t *b_10)
{
/* Program local variables */
#include "prog.c.l.h"
prog.c: In function 'prog_':
prog.c:116:3: warning: passing argument
1 of 'cob_pointer_manip' from incompatible pointer type
prog.c.h:33:1: note: expected 'struct
cob_field *' but argument is of type 'unsigned char *'