Proposal: change requirement for tools from C89 to C99

Roland Illig <[email protected]>
Newsgroups gmane.os.netbsd.devel.toolchain
Message-ID <[email protected]>
Hi,

tools/README currently says:
> Most tools should restrict themselves to C language features that
> are defined in C89 (ISO 9899-1989); they should avoid using C99
> language features.
These rules are from 2014.  Do we still need them?  For example,
usr.bin/make is used as a tool, but its code contained several C99-isms.
  This means that for about 5 years, nobody needed C89 support so badly
to make it worth convincing us fixing the code to strictly conform to
C89.  Given that C99 has been around for about 20 years now, that makes
perfect sense to me.

I therefore propose to require C99 instead of C89 as the baseline
standard for everything in tools/.

When I removed the C99-isms from usr.bin/make in 2021, I only did so due
to the abstract requirement in tools/README, not because there was an
actual need for it.  In fact, I also accidentally added several C99-isms
in 2020 as I had mistaken them to be available in C89 already.  I never
got any complaints about any platform that could not build make or bmake.

Roland
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.