Hi!

I develop in C for Linux (Intel), Mac (Intel and soon also Apple Silicon),
and for Windows (Intel). With the years I'm becoming more and more
reluctant to GCC and LLVM, which are the two compilers I use, because they
have grown into C++ monsters and building them is a huge adventure that
takes more and more effort -days or even weeks in some cases- in every new
version they release (I won't go into the details, but if you are used to
build and test new versions of GCC and LLVM for several targets, you know
what I'm talking about).

Basically, what I need is just a C compiler. Written in C. A good C
compiler. With a not too complex code tree and reasonably easy to port to
new targets in the future. That's it.

It seems the old "portable C compiler" is either gone or abandoned (the
website is down). Another historical one, Amsterdam Toolkit (ATK) is not
maintained for new targets such as Apple Silicon. The same can be said for
LCC and OpenWatcom... and then, looking at the list of C compilers in
Wikipedia, it seems like I already mentioned all the available open source
and multiplatform C compilers but TinyCC.

TinyCC looks very appealing to me, but, before I embark on it, are there
any important warnings I should be aware of? Does anybody use it on MacOS
on a daily basis? With Apple Silicon? Does hardware floating point work
fine in float and double precision on Intel x86, x86_64, and on Apple
Silicon?

Also: are there plans to support OpenMP, or do you know of any tool that I
can use for parsing a C source with OpenMP pragmas and generating a
pthreads version of the parallelized code that I can then build with
TinyCC? The thing is that all recent CPUs are multicore, and you are sort
of wasting them if you don't parallelize costly loops... and OpenMP lets
you do this in a very convenient way. Maybe a complete OpenMP
implementation would increase the complexity of TinyCC (I'm not really
sure, I don't know the details), that's why I'm asking for an alternative
that I could use, a sort of "OpenMP preprocessor" before sending the source
to TinyCC.

Another thing that could be important to me is the license. The current
LGPL might be fine, but I'd like to have at least a "static link exception"
so that, in the case that I need to statically link TinyCC with any of my
programs in the future, the license is not viral into my program. I've seen
that there's an effort in relicensing TinyCC into a MIT-like license, how
is it going? Will it succeed?

Kind regards, and thanks a lot,

César
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to