Hi all, I am trying to compile and test the CEA sample program from the manual "MVS Programming: Callable Services for High-Level Languages", SA23-1377-50, Chapter 12. Using CEA TSO/E address space services, Programming example.
I am trying to run this test on a z/OS V2.5 system with relatively current maintenance applied. The suggested compile and link script is listed in the manual as follows: /* rexx */ /* c89/cc/c++ */ /* dbx needs -g or -Wc,debug */ /* list\(./\) */ /* export _C89_STEPS='-1' enable all steps, inc prelinker */ /* export _C89_TMPS ='-3' prelinker will write composite .p file*/ 'c89 -oceasamt -v -g -Wc,LP64,SHOW,SO,AGGR,XREF,NOOFF,NOOPT,EXP,LIST\(./\) SSCOMM,DLL,STA,''LANGLVL(EXTENDED)'',WARN64 -Wl,LP64,map,xref ceasampt.c ceasapit.x ' 'ls -gatlrE ceasamt.* ceasamt' For reasons I cannot get into here, I had to implement that script as a regular shell script rather than a Rexx script, and I implemented it as this: export STEPLIB=SYS1.SCBCCMP c89 '-oceasamt -v -g -Wc,LP64,SHOW,SO,AGGR,XREF,NOOFF,NOOPT,EXP,LIST\(./\),SSCOMM,DLL,STA,''LANGLVL(EXTENDED)'',WARN64 -Wl,LP64,map,xref' ./ceasampt.c /usr/lib/ceasapit.x ls -gatlrE ceasamt.* ceasamt Note that I have included the SSCOMM compiler option in the option list, which as I read the manual is SUPPOSED to allow C programs to use the "//" comment convention from C++. However, the c89 compile step still complains about "invalid C source characters" despite those characters being present in a source line FOLLOWING a "//" comment start. Example : Lines 85 and 86 of the included file "/usr/include/ceaxrdef.h"are: // @DAA // Reason Codes // @P8A As I understand the syntax rules, those @ characters are a comment and should be ignored, shouldn't they? Below is the full output from executing the c89 shell script that I pasted above. Any help or RTFM you can provide would be appreciated. Peter Script output in a Unix services shell: + export STEPLIB=SYS1.SCBCCMP + c89 -oceasamt -v -g -Wc,LP64,SHOW,SO,AGGR,XREF,NOOFF,NOOPT,EXP,LIST\(./\),SSCOMM,DLL,STA,LANGLVL(EXTENDED),WARN64 -Wl,LP64,map,xref ./ceasampt.c /usr/lib/ceasapit.x ERROR CBC3191 /usr/include/ceaxrdef.h:85 The character @ is not a valid C source character. ERROR CBC3191 /usr/include/ceaxrdef.h:86 The character @ is not a valid C source character. ERROR CBC3191 /usr/include/ceaxrdef.h:345 The character # is not a valid C source character. ERROR CBC3191 /usr/include/ceaxrdef.h:345 The character @ is not a valid C source character. ERROR CBC3191 ./ceasampt.c:539 The character @ is not a valid C source character. ERROR CBC3191 ./ceasampt.c:742 The character @ is not a valid C source character. ERROR CBC3046 /usr/include/ceaytsor.h:95 Syntax error. CBC1793(I) Compilation failed for file ./ceasampt.c. Object file not created. FSUM3065 The COMPILE step ended with return code 12. FSUM3017 Could not compile ./ceasampt.c. Correct the errors and try again. + ls -gatlrE ceasamt.* ceasamt ls: FSUM6785 File or directory "ceasamt.*" is not found ls: FSUM6785 File or directory "ceasamt" is not found -- This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN