On Wed, 30 Dec 2020 21:37:56 -0500, Joseph Reichman <[email protected]>
wrote:
>Hi
>
>
>
>I am getting the following error on a CATTR Assembly statement
>
>
>
>0001B0A 00000000 00001B51 2833 OPENFI#C CSECT ,
>000000
>
>� 2834 M_WSA CATTR
>RMODE(ANY),PART(openfile),NOTEXECUTABLE,ALIGN(2) 000000
>
>�** ASMA155S Previous use of symbol is not this section type
>
>�** ASMA167E Required name missing
>
>�** ASMA435I Record 2371 in IBMUSER.TEST.SOURCE(OPENFILE) on volume: JOEABC
>
>
>
>
>
>Openfile is the name of my C function it is not a global variable don�t
>know why the compiler is generating a CATTR statement
>
>
>
> #ifdef __MVS__
>
> BOOL openfile(int *aletd, char *filename, void *sysptrs)
>
> {
>
>
>
>When I change the function name from openfile to something else e.g. openfil
>I don�t get the error don�t get it
>
>
>----------------------------------------------------------------------
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to [email protected] with the message: INFO IBM-MAIN
Hi Joseph,
(posted on behalf of a colleague)
The M_WSA class is for Metal C reentrancy support. The PART name there is what
references the objects that are re-entrant. In the user's case, they have
openfile listed as a part meaning that either the function is considered an
object (not a function) that is reentrant (perhaps due to the expansion of the
BOOL macro in their environment) or that they have another reentrant object
somewhere that is named ‘openfile’ (they can pre-process the source to check
which case it is). The error they get from the assembler indicates the latter
case. i.e. They have another definition or reference to an object named
‘openfile’ somewhere in their source (or their include file chain).
Hope this helps?
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN