[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