Could be a code page issue.  USS users guide says
The LC_SYNTAX environment variable
The POSIX portable character set has 13 characters whose encoding might
vary on different EBCDIC code
pages:
Right brace (}) Left brace ({) Backslash (\) Right bracket (]) Left bracket
([) Circumflex (^) Tilde (~) Exclamation point (!) Number sign (#)
Vertical bar (|) Dollar sign ($) *Commercial at-sign (@)* Accent grave (`)

ls -T ccc.c will show you the code page.
IBMUSER:/u/ibmuser: >ls -T ccc.c
- untagged    T=off ccc.c

I compiled a line line C program with // @
and it did not have any problems.
Colin

On Mon, 11 Nov 2024 at 19:33, Farley, Peter <
0000031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

> 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
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to