This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Michael.Felt
Recipients Michael.Felt, skrah
Date 2020-06-10.20:06:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <c72e3259-f1fd-e848-1433-31149a71509e@felt.demon.nl>
In-reply-to <1591385655.5.0.64244490428.issue40878@roundup.psfhosted.org>
Content
Actually, iirc - xlc is c99 plus a few extra settings.

The configuration files for xlc are, traditionally, in /etc (the later
versions of the compiler have moved them into /opt/show/where so that
multiple versions of the compiler can be installed.

buildbot@x064:[/home/buildbot]ls -l /etc/*vac*
-rw-r--r--    1 bin      bin           37731 Aug 02 2018  /etc/vac.cfg.53
-rw-r--r--    1 bin      bin           39672 Aug 02 2018  /etc/vac.cfg.61
-rw-r--r--    1 bin      bin           39681 Aug 02 2018  /etc/vac.cfg.71
-rw-r--r--    1 bin      bin           39611 Aug 02 2018  /etc/vac.cfg.72

Herein I see that xlc is "extc99" and some extras:

* -qlanglvl=extc99 C compiler with common extensions, UNIX headers
xlc:    use        = DEFLT_C
        crt        = /lib/crt0.o
        mcrt       = /lib/mcrt0.o
        gcrt       = /lib/gcrt0.o
        libraries  = -L/usr/vac/lib,-lxlopt,-lxlipa,-lxl,-lc
        proflibs   = -L/lib/profiled,-L/usr/lib/profiled
        options    =
-qlanglvl=extc99,-qcpluscmt,-qkeyword=inline,-qalias=ansi

I have chosen the xlc_r variant - for thread_safe additions:

* standard c compiler aliased as xlc_r (61 Threads)
xlc_r:  use        = DEFLT_C
        crt        = /lib/crt0.o
        mcrt       = /lib/mcrt0.o
        gcrt       = /lib/gcrt0.o
        libraries  = -L/usr/vac/lib,-lxlopt,-lxlipa,-lxl,-lpthreads,-lc
        proflibs   = -L/lib/profiled,-L/usr/lib/profiled
        hdlibs     = -L/usr/vac/lib,-lhmd
        options    =
-qlanglvl=extc99,-qcpluscmt,-qkeyword=inline,-qalias=ansi,-qthreaded,-D_THREAD_SAFE,-D__VACPP_MULTI__

So, what is c99 then? -> focus on it is 'stdc99' rather than 'extc99'

* Strict ANSI compiler, ANSI headers
c99:    use        = DEFLT_C
        crt        = /lib/crt0.o
        mcrt       = /lib/mcrt0.o
        gcrt       = /lib/gcrt0.o
        libraries  = -L/usr/vac/lib,-lxlopt,-lxlipa,-lxl,-lc
        proflibs   = -L/lib/profiled,-L/usr/lib/profiled
        options    =
-qlanglvl=stdc99,-D_ANSI_C_SOURCE,-D_ISOC99_SOURCE,-qalias=ansi,-qstrict_induction

Hope this helps clarify that both xlc and c99 are "c99" based.

Regards,

Michael

On 05/06/2020 21:34, Stefan Krah wrote:
> New submission from Stefan Krah <stefan@bytereef.org>:
>
> There appears to be an xlc buildbot with libmpdec failures.
>
> libmpdec uses C99 extern inline semantics. From the brief period that I had access to xlc I remember that xlc was quite picky about C99.
>
> Actually all of Python uses C99. So I think xlc_r needs to be invoked as c99_r.
>
> ----------
> messages: 370779
> nosy: Michael.Felt, skrah
> priority: normal
> severity: normal
> status: open
> title: Use c99 on the aixtools bot
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <https://bugs.python.org/issue40878>
> _______________________________________
>
History
Date User Action Args
2020-06-10 20:06:43Michael.Feltsetrecipients: + Michael.Felt, skrah
2020-06-10 20:06:43Michael.Feltlinkissue40878 messages
2020-06-10 20:06:41Michael.Feltcreate