On Dec 24, 2019, at 3:19 AM, Max Vlasov <max.vla...@gmail.com> wrote:
> 
> an "ancient" bcc 5.5 compiler

Yes, [almost 20 years old][1] now.  Even in these times of slowing technology, 
that’s still a very long time in computing.

To put things into perspective, that compiler is about as old as SQLite itself! 
 It’s a wonder it’s worked as long as it has for you.

> starting 3.29.00 it appears it didn't like long long constants
> such as -2251799813685248LL

The “LL” syntax is [a C99 feature][2], which would have been very new at the 
time that compiler was released.  Considering that Borland C++ was well on its 
way to the margins of the PC software development world by the time of that 
release — thus the free come-on — it doesn’t surprise me that the compiler 
doesn’t support that particular feature of C99.

Also consider that 64-bit CPUs were still in the future in the Intel x86 world. 
 The AMD64 architecture in the first Opteron didn’t come out until 2003, and 
Intel didn’t release their first processor copying the architecture until the 
next year.

That’s not to say that 32-bit compilers — such as bcc 5.5 — didn’t support 
64-bit ints, but that all of this together explains why it would have been 
unusual to have first-class support for them at the time.

There are a bunch of other things that compiler simply won’t do.  It’ll choke 
on a whole lot of C++ template code, for one example.  The MySQL++ library that 
I maintain has a macro-based feature that will reliably knock it over, for 
another.

If you need a free C compiler for Windows, you have many other options these 
days.  Philosophically, I suspect you’ll be happiest with MinGW, but there are 
[many alternatives][3].  (Some of those listed don’t run on Windows, but most 
do.)

One not on that list that should be is [Visual Studio Community Edition][4], 
which as of 4 or 5 years ago now is as unrestricted as the old “Professional” 
editions, which now exist only to serve niche cases such as those still tied to 
MFC and AFX.


[1]: https://en.wikipedia.org/wiki/Borland_C%2B%2B#Borland_C++_Compiler
[2]: 
https://en.cppreference.com/w/c/language/integer_constant#The_type_of_the_integer_constant
[3]: https://www.thoughtco.com/list-of-free-c-compilers-958190
[4]: https://visualstudio.microsoft.com/
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to