From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1ea992d578e9f621 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!j78g2000hsd.googlegroups.com!not-for-mail From: Maxim Reznik Newsgroups: comp.lang.ada Subject: Re: Restricted or no run time in Ada Date: Fri, 4 Jan 2008 01:23:18 -0800 (PST) Organization: http://groups.google.com Message-ID: <47bfaa83-b922-426e-8f6f-48e1c4ccacbb@j78g2000hsd.googlegroups.com> References: <22a9c47e-bed4-40ed-9b6a-218655861989@k30g2000hse.googlegroups.com> <351807b3-947a-47d5-82e9-b15061cd964d@s12g2000prg.googlegroups.com> <13d38860-282c-4371-a16f-46425a32d977@l32g2000hse.googlegroups.com> NNTP-Posting-Host: 213.154.201.133 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1199438598 15114 127.0.0.1 (4 Jan 2008 09:23:18 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 4 Jan 2008 09:23:18 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: j78g2000hsd.googlegroups.com; posting-host=213.154.201.133; posting-account=K1cP1QoAAAD_GR6kW2Td0NqGqGBLRE8h User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:19188 Date: 2008-01-04T01:23:18-08:00 List-Id: On Jan 3, 10:22 pm, Lucretia wrote: > Yes, I know of it. Incomplete (I don't know by how much though). Also, > a guy in #Ada has informed me the code generation is not great. > What do guys at #Ada say about GNAT generated code? An example: procedure Test (X : in out Integer) is begin X := X + 1; end Test; -------------------------------------- GNAT: _ada_test: .LFB3: pushl %ebp .LCFI0: movl %esp, %ebp .LCFI1: pushl %ebx .LCFI2: subl $20, %esp .LCFI3: movl 8(%ebp), %eax cltd movl %eax, %ecx movl %edx, %ebx addl $1, %ecx adcl $0, %ebx movl %ecx, %eax movl %ebx, %edx addl $-2147483648, %eax adcl $0, %edx cmpl $0, %edx jbe .L6 movl $3, 4(%esp) movl $.LC0, (%esp) call __gnat_rcheck_10 .L6: movl %ecx, %eax addl $20, %esp popl %ebx popl %ebp ret -------------------------------------- Gela over ten15 (http://www.ten15.org/wiki/Ada) : -------------------------------------- Test: .set .Ldisp5, 0 movl 4+.Ldisp5(%esp), %eax incl %eax jno .L7 pushl $7 movl __trans386_errhandler, %eax call * %eax .L7: movl %eax, 4+.Ldisp5(%esp) ret -------------------------------------- Of course Gela project is far away of completion and not yet ready to be used in your project, but code it can generate for now not much worse then one of others compilers. -- Maxim Reznik