[issue40878] Use c99 on the aixtools bot

Michael Felt report at bugs.python.org
Wed Jun 10 16:06:43 EDT 2020


Michael Felt <aixtools at felt.demon.nl> added the comment:

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 at 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 at 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 at bugs.python.org>
> <https://bugs.python.org/issue40878>
> _______________________________________
>

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40878>
_______________________________________


More information about the Python-bugs-list mailing list