Front page | perl.perl5.porters |
Postings from May 2021
Re: C99
Thread Previous
|
Thread Next
From:
Nicholas Clark
Date:
May 19, 2021 13:30
Subject:
Re: C99
Message ID:
20210519133025.GW16703@etla.org
On Tue, May 18, 2021 at 09:44:58AM -0600, Karl Williamson wrote:
> On 5/18/21 6:01 AM, Nicholas Clark wrote:
> > What are we trying to achieve:
>
> Some of this was hashed out 6 months ago:
>
> http://nntp.perl.org/group/perl.perl5.porters/258392
Thanks. I'd forgotten that thread, even though I participated in it.
I guess it work got overwhelming again midway, before I read this:
> http://nntp.perl.org/group/perl.perl5.porters/258488
I've incorporated those answers from VMS into my list.
I have put the current version at https://github.com/Perl/perl5/wiki/C99
One can clone this as git clone https://github.com/libav/c99-to-c89
I'd be happy if folks edit it directly, if they have useful stuff to add.
Sadly the VMS test system at 15.154.209.57 on which I once had an account
is no longer live, so I can't directly test things on VMS.
Merijn has kindly set me up accounts on HP-UX and AIX machines - an older
AIX version than the GCC compiler farm has.
The GCC compiler farm has Solaris 10 (and 11) with SunCC
(I believe dating from Sun).
All of the attached test cases build cleanly with the vendor compilers on
the AIX, HP-UX and Solaris systems I have access to.
That's *without* needing "C99" enabled.
(and curiously, only the HP-UX compiler spotted one bug that the others all
missed).
gcc 4.7 (and earlier) need --std=c99 for the for test.
As noted in the previous message, I *think* that any gcc back to 3.1
(ie 2002 era) is good enough, but it seems that some might need flags.
xlc claims to add "C99" support back in 2002.
I don't know when HP-UX added it, but I see -AC99 referenced in a document
that seems to be from 2004.
The real elephant in the room is MSVC. I'm surprised that no-one has
mentioned it yet.
I know that Microsoft had an epiphany *relatively* recently and decided to
start supporting C99, but
* I don't know when that was
* I don't know which version first supports enough
* I don't know if previous versions support any individual C99 features at all
and
my understanding is that "before Vista" several APIs that we would like to
use don't exist. Specifically to do with locales and what is needed to
emulate stat (or similar).
Hence, if for those reasons we decide to drop support for XP and earlier,
does doing *that* remove a constraint on minimum MSVC version, such that
*it* is not the blocker on all things post C89?
Nicholas Clark
Thread Previous
|
Thread Next