On May 29, 2023, at 6:06 PM, david.k...@libertysurf.fr wrote:
Hi Detlef,
I don't care about the "simplicity" of tcc and its supposed goal not
to compete with larger and more established compilers like gcc or clang.
Tcc still have to be reliable and not falling on simple corner cases
because someone decided to push a patch on the mob branch, requiring
someone else to remove it.
I'd like tcc not to be considered just a "quick hack" or a "toy
compiler" due to its inherent simplicity, it still have to produce
correct and reliable code.
Especially since its internals are so "simple", there is no reason
tcc couldn't be thoroughly tested and stabilized orthogonally across
all supported architectures.
It's been more than 5 years since the last "stable" release, I'd like
the next one to be as much "reliable" despite the mob branch will
still remain the Wild Wide West of salvage patches.
Experimenting is one thing, but regarding the last few months of
adventurous code modifications and group discussions, I would NOT bet
on just numbering the current state as being the new 0.10.0.
Let's do a feature freeze first, a comparison checklist with other
compilers, supporting common flags and attributes, producing correct
binary files (Windows, Linux, Mac, ...).
Then after a few release candidates, maybe only we could decide the
last RC to be worthwhile enough to get released with the new official
0.10.0 tags that we could feel proud of.
Until then tcc:mob will just remain a nerd's joke and a geek's
playground that only a few insiders can really use it after great
hacking to get it to work almost like expected.
Our view on tcc may diverge, but rest assured I like it anyway, I
just would like it to be treated more fairly and professionally than
its original legacy.
Thank you all for putting all such time and passion into its maintenance.
Regards.
----- Mail d'origine -----
De: wine dev <wine....@web.de>
À: tinycc-devel@nongnu.org
Envoyé: Mon, 29 May 2023 14:39:17 +0200 (CEST)
Objet: Re: [Tinycc-devel] Re : Calling for Release 0.10.0
[Tinycc-devel] Re : Calling for Release 0.10.0 – Hi,
the mob branch is pretty much unstable.
Before turning the mob branch into a new release, better do some
thorough
checking and regression testing.
And have something consistent across the various supported platforms
(x86,
AMD64, ARM, M1, RISC-V, ...).
Regards. [...]
Where do you see tcc to be unstable?
Yes, the last patch is ugly and should be removed or fixed
(path is created with alloca and later overwritten with malloc),
and that patch is only used as fallback,
when CONFIG_TCCDIR is undefined.
Primary goals for tcc are:
* Compile to correct code,
* as fast as possible,
* while being as simple as possible
For memory leaks from malloc, which are only freed at program shutdown:
A design decision is not a bug.
* tcc is a short running program,
and a design decission to not free every memory from malloc
is also done by other compiler for speed reasons:
(look at DMC or DMD as examples.)
(i dont know, if both compiler do not free, but i can remember,
that walter bright wrote, not to free memory was his
design decision for speed reasons).
* things done in libtcc are different,
as the programm, which is using libtcc might live longer.
I would suggest to fix memory leaks in libtcc.
For using an object format, with is not the same, what most other
compiler
use on that system:
A design decision, and not a bug
Disadvantage:
* You can't link object files from other compiler
Advantage:
* simplify the code generator, the linker and probably other tools
This is also done by other compiler for many Years:
* Watcom/OpenWatcom uses OMF
* Embarcadero C++ Builder:
The newer compiler are based on clang
and use ELF object files also on Windows
--
Regards ... Detlef
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel