On 29 Sep 2017, at 6:14pm, Denis V. Razumovsky <t...@denis.im> wrote:

> Rule 10: All code must be compiled, from the first day of development,
> with all compiler warnings enabled at the most
> pedantic setting available. All code must compile without warnings.

NASA's code is developed to run on one platform and to be compiled by one 
toolchain.  SQLite has to be compilable by every C compiler anyone might 
feasibly use, and has to run on everything from supercomputers to set top boxes 
to mass spectrometers to those handheld things delivery companies use to 
schedule deliveries and take your signature.  And they all use different 
compilers and CPUs, and the compilers are all designed for different versions 
of C, and the compilers all generate different warnings depending on which 
compilaton options you chose.

Here’s what happens when you try to get rid of warnings: for every compiler 
warning you remove in GCC you get one new one in LLVM.  If you do manage to get 
rid of them both you find you have a new one in CLANG, which one of the sposors 
happens to use and is therefore a big problem.  Working just as hard as you 
know how, you finally manage to make all three of those compilers happy, only 
to find that SQLite now won’t compile at all in the toolchain used by the 
Navigation Data Standard, which develops the maps used in most SatNav devices.

Alternatively, the developer team could do the work it’s currently doing, which 
gets rid of all compiler /errors/, and have code which works identically on all 
the literally billions of devices SQLite is installed on.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to