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 <[email protected]> - 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) _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
