CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source - VMS

This is a discussion on CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source - VMS ; hello, in libxml2 2.6.29 (and in other versions also I think), in tree.c, there are 2 functions named xmlBufferWriteCHAR &. xmlBufferWriteChar I compile with /NAME=(AS_IS,SHORTENED) but the compiler change le name of the second function to xmlBufferWriteChar2 $ pipe analayze/obj/section=all ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source

  1. CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source

    hello,

    in libxml2 2.6.29 (and in other versions also I think), in tree.c,
    there are 2 functions named xmlBufferWriteCHAR &. xmlBufferWriteChar

    I compile with /NAME=(AS_IS,SHORTENED) but the compiler change le name
    of the second function to xmlBufferWriteChar2

    $ pipe analayze/obj/section=all | search sys$pipe xmlBufferWriteChar
    00039838 00000D38 Symbol 141. (0000008D)
    "xmlBufferWriteCHAR"
    00039850 00000D50 Symbol 142. (0000008E)
    "xmlBufferWriteChar2"
    00037a2b 00000c5b name: "xmlBufferWriteCHAR"
    00037a46 00000c76 name: "xmlBufferWriteChar2"

    $ analyze/object tree.obj/interactive
    This is an OpenVMS IA64 (Elf format) object file

    Module Identification Information, in note section 2.

    Module name: "tree"
    Module version: "V1.0"
    Creation date/time: " 1-AUG-2007 18:22"
    Language name: "HP C V7.2-001"

    OpenVMS 8.3 on Itanium

    did I missed some important option of the C compiler or is it
    impossible to 2 functions with such names ?

    Pierre.


  2. Re: CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source

    In article <1185995560.820118.283830@d55g2000hsg.googlegroups. com>, Pierre writes:

    > in libxml2 2.6.29 (and in other versions also I think), in tree.c,
    > there are 2 functions named xmlBufferWriteCHAR &. xmlBufferWriteChar
    >
    > I compile with /NAME=(AS_IS,SHORTENED) but the compiler change le name
    > of the second function to xmlBufferWriteChar2


    Look for a #define that changes xmlBufferWriteChar to xmlBufferWriteChar2

    This may have been done to allow you to use the code with older RTL
    that would need the default /names=uppercase.

    I'd compile tree.c with the include files in listings, then search
    for a possible #define:

    cc /list/show=include tree
    search tree.lis "xmlBufferWriteChar"/exact


  3. Re: CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source

    On Aug 3, 2:43 am, koeh...@eisner.nospam.encompasserve.org (Bob
    Koehler) wrote:
    > In article <1185995560.820118.283...@d55g2000hsg.googlegroups. com>, Pierre writes:
    >
    > > in libxml2 2.6.29 (and in other versions also I think), in tree.c,
    > > there are 2 functions named xmlBufferWriteCHAR &. xmlBufferWriteChar

    >
    > > I compile with /NAME=(AS_IS,SHORTENED) but the compiler change le name
    > > of the second function to xmlBufferWriteChar2

    >
    > Look for a #define that changes xmlBufferWriteChar to xmlBufferWriteChar2
    >
    > This may have been done to allow you to use the code with older RTL
    > that would need the default /names=uppercase.


    (self answer)
    or with another language that only accept uppercase (Pascal for ex.)
    so I have to choose new RTL support or ols RTL + other langages
    support ...

    > I'd compile tree.c with the include files in listings, then search
    > for a possible #define:
    >
    > cc /list/show=include tree
    > search tree.lis "xmlBufferWriteChar"/exact


    Pierre.


  4. Re: CC: xmlBufferWriteCHAR & xmlBufferWriteChar in the same source

    Pierre wrote:

    > or with another language that only accept uppercase (Pascal for ex.)
    > so I have to choose new RTL support or ols RTL + other langages
    > support ...


    Not to drift off topic, but Pascal has mixed-case external/global name
    support since 1991 (added in VAX Pascal V4.4). The EXTERNAL and GLOBAL
    attributes will accept a quoted-string argument which treated as-is for
    the linker-visible name.

    [external('ThisIsAMixedCaseName')] procedure foo; external;


    --
    John Reagan
    OpenVMS Pascal/Macro-32/COBOL Project Leader
    Hewlett-Packard Company

+ Reply to Thread