Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Compiler tests Date: Fri, 25 Jan 2019 12:17:58 -0800 Organization: None to speak of Lines: 32 Message-ID: References: <%UO0E.109606$Ur2.51894@fx14.am4> <4fr2E.149191$iL2.146583@fx17.am4> <4af80090-fbeb-4b21-92dc-d5c0fb7d73e7@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="7583ad3a3d59f2511877aeeb9cc27f3f"; logging-data="19193"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ARbRh2WmDBM/fm34MfYMx" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:BTl54uZJ+s+QVKJ2BeKNxh/DFVM= sha1:cJdWFrnHAnC2Y2iZ/hsRBK8xfmU= Xref: csiph.com comp.lang.c:140282 "Pascal J. Bourguignon" writes: > Keith Thompson writes: >> "Pascal J. Bourguignon" writes: [...] >>> will notice that there's no difference in implied implementation >>> choices. It's only a matter of ecosystem culture if the usual tools >>> turn out as they are. >> >> 5.1.1.2 Translation phases: >> >> 8. All external object and function references are >> resolved. Library components are linked to satisfy external >> references to functions and objects not defined in the current >> translation. All such translator output is collected into a >> program image which contains information needed for execution >> in its execution environment. >> >> That clearly implies a compile-and-link implementation. I didn't use the word "implies" to indicate a strict requirement. Substitute "strongly hints at" if you prefer. The "Translation phases" section of the standard describes a compile-and-link implementation. An interpreted implementation is perfectly valid, but only if the behavior matches the description. [...] -- Keith Thompson (The_Other_Keith) kst-u@mib.org Will write code for food. void Void(void) { Void(); } /* The recursive call of the void */