[M3devel] Code generation (was: Enumeration or subrange value out of range)
Jay K
jay.krell at cornell.edu
Thu Dec 2 15:48:35 CET 2010
> Are either LLVN or gcc-intermediate as well-documented as C--, C, or
> C++?
> Too bad C-- seems to be somewhat lacking in implementatins of multiple
> kinds of hardware. It's otherwise excellent.
gcc-intermediate isn't necessarily poorly documented or changes much,
but C and C++ are clearly the better documented forms.
Just go to a bookstore.
And even if they weren't better documented, there is much broader
experience with them, by me and the wider world.
It's a numbers thing. I have written thousands of lines of C and C++
and overall millions or billions have been written.
Most of mine have been compiled by one line of compilers, but not all,
and, in reality, I don't believe a backend would use the language(s)
very intensely. The main reason I advocate C++ as a target vs. C
is for portable efficient exception handling.
(As well, Visual C++ I think is closer to the standard in terms
of lack of extensions than gcc; I have also compiled some code
with its /Za switch that disables extensions.)
I should point out that nested functions will probably pose a small problem.
Using "this" in C++ might help some, esp. to get the extra parameter efficiently
passed on 32bit x86.
- Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20101202/2f9b9083/attachment-0002.html>
More information about the M3devel
mailing list