[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] c89
From: |
Vincent Lefevre |
Subject: |
Re: [Tinycc-devel] c89 |
Date: |
Wed, 27 Sep 2017 09:29:53 +0200 |
User-agent: |
Mutt/1.9.1-7166-vl-r99863 (2017-09-23) |
On 2017-09-26 20:14:25 -0700, Larry Doolittle wrote:
> Friends -
>
> On Tue, Sep 26, 2017 at 03:49:09PM -0700, Larry Doolittle wrote:
> > Someone asked about c89. I made a simple experiment on mob.
> > 1. Replace 67 //-style comments with /* */
> > 2. #define inline __inline__ in tcc.h
> > 3. Use --std=c89 under gcc-4.9.2 on x86_64
> > The result builds and passes self-tests.
>
> I went through the tcc compile with --std=c89 -pedantic and
> --std=c99 -pedantic options.
[...]
Note that --std=c89 -pedantic(-errors) is not sufficient to detect all
use of non-C89 features (only those that require a diagnostic). In
particular, using <stdint.h> remains undetected by --std=c89 -pedantic
with the current GCC. And even in C99, the types int64_t and uint64_t
are optional (in case they are also used for bootstrapping).
BTW, in practice, compiler bugs may be more an issue than the
possible use of a C89 compiler.
So, about the use of old (and new) compilers, perhaps it could be
better to report issues when they are found.
You might want to try CompCert[*], which supports only a subset of C
(a very large subset of C89 + some C99 features, AFAIK).
[*] http://compcert.inria.fr/
--
Vincent Lefèvre <address@hidden> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)