Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "BartC" <bc@freeuk.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Variables allocated on stack |
| Date | 2011-11-26 23:00 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <jarr5c$vv0$1@dont-email.me> (permalink) |
| References | (3 earlier) <jant5d$lji$1@speranza.aioe.org> <janutd$50o$1@dont-email.me> <slrnjd12fr.1q65.usenet-nospam@guild.seebs.net> <jaqh9b$ght$1@dont-email.me> <l2u7q8-m8a.ln1@voyager.wichi.de.vu> |
"Markus Wichmann" <nullplan@gmx.net> wrote in message news:l2u7q8-m8a.ln1@voyager.wichi.de.vu... > On 26.11.2011 12:07, BartC wrote: > >> Surely compiler writers can do what they like - within their own >> implementation? Calling conventions are only important when calling >> foreign >> and OS functions, and being called from outside. >> > > Yeah, that's right! > > Only... every function not defined "static" may be called "from the > outside". Every call to a function only declared (and not qualified > "static") but not defined may be to a foreign function. If no special attributes are defined, then it is just the private calling convention used by this compiler. Although it might have a few other conventions up it's sleeve, for example when creating exported functions accessed via dynamic library by other languages, or calling the OS. I'm used anyway to declaring in my non-C language: clang function puts (istring) windows function Sleep(int) That is, specify the calling conventions used by these imported functions (in this case, also imported via DLL files). Although I believe Windows was originally written in C, it uses a different call convention from actual C programs. Fortunately the only C functions I've had to import so far all use a consistent call convention. So for functions shared across applications, this would be a good idea. But should this be defined by the ABI? I understood an ABI was mainly for interfacing to the OS; it was not necessarily a standard for C language compilers. Or, since other languages are available, for *every* implementation of *every* language for that platform. > Plus, when you ask a compiler writer whether he want's to include > _two_different_ calling conventions in his compiler with the added > maintenance and stuff, guess what he'll say. Isn't that what happens anyway, when calling a function in a different language? (pascal, stdcall and so on.) (And I'm working right now on a project with I think 4 different conventions to take care of. It's not that big a deal. More difficult is matching and converting datatypes across languages.) > Writing a register > allocator is hard enough without having to differentiate internal and > external functions and function calls. Most code generation should be for functions following the chosen call-convention of the compiler. This may well have been chosen to be easier to compile for. Only actual calls to other conventions, or 'callback' functions, might need some work. -- Bartc
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Variables allocated on stack Bogdan <cristeab@gmail.com> - 2011-11-24 13:28 -0800
Re: Variables allocated on stack Ian Collins <ian-news@hotmail.com> - 2011-11-25 10:40 +1300
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-24 23:30 +0100
Re: Variables allocated on stack Quentin Pope <qp19433@hotmail.NOSPAM.com> - 2011-12-02 22:33 +0000
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-12-03 00:54 +0100
Re: Variables allocated on stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-12-02 23:33 -0800
Re: Variables allocated on stack Keith Thompson <kst-u@mib.org> - 2011-12-03 02:25 -0800
Re: Variables allocated on stack jt@toerring.de (Jens Thoms Toerring) - 2011-11-24 23:37 +0000
Re: Variables allocated on stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-11-25 01:53 -0800
Re: Variables allocated on stack "BartC" <bc@freeuk.com> - 2011-11-25 11:05 +0000
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-25 12:11 +0100
Re: Variables allocated on stack "BartC" <bc@freeuk.com> - 2011-11-25 11:40 +0000
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-25 12:52 +0100
Re: Variables allocated on stack Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-27 02:31 -0800
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-27 13:28 +0100
Re: Variables allocated on stack André Gillibert <MetaEntropy.removeThis@gmail.com> - 2011-11-27 13:44 +0100
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-27 15:44 +0100
Re: Variables allocated on stack André Gillibert <MetaEntropy.removeThis@gmail.com> - 2011-11-27 17:34 +0100
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-27 18:28 +0100
Re: Variables allocated on stack Ian Collins <ian-news@hotmail.com> - 2011-11-28 07:48 +1300
Re: Variables allocated on stack gwowen <gwowen@gmail.com> - 2011-11-29 01:11 -0800
Re: Variables allocated on stack jacob navia <jacob@spamsink.net> - 2011-11-29 17:02 +0100
Re: Variables allocated on stack Seebs <usenet-nospam@seebs.net> - 2011-11-26 07:21 +0000
Re: Variables allocated on stack "BartC" <bc@freeuk.com> - 2011-11-26 11:07 +0000
Re: Variables allocated on stack Markus Wichmann <nullplan@gmx.net> - 2011-11-26 21:16 +0100
Re: Variables allocated on stack "BartC" <bc@freeuk.com> - 2011-11-26 23:00 +0000
Re: Variables allocated on stack Ian Collins <ian-news@hotmail.com> - 2011-11-27 12:12 +1300
Re: Variables allocated on stack "BartC" <bc@freeuk.com> - 2011-11-26 23:35 +0000
Re: Variables allocated on stack Ian Collins <ian-news@hotmail.com> - 2011-11-27 12:48 +1300
Re: Variables allocated on stack Markus Wichmann <nullplan@gmx.net> - 2011-11-27 10:56 +0100
Re: Variables allocated on stack Keith Thompson <kst-u@mib.org> - 2011-11-28 16:17 -0800
Re: Variables allocated on stack Markus Wichmann <nullplan@gmx.net> - 2011-11-30 17:04 +0100
Re: Variables allocated on stack Keith Thompson <kst-u@mib.org> - 2011-11-30 09:36 -0800
Re: Variables allocated on stack Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-25 05:11 -0800
Re: Variables allocated on stack Keith Thompson <kst-u@mib.org> - 2012-01-25 12:23 -0800
Re: Variables allocated on stack Tim Rentsch <txr@alumni.caltech.edu> - 2012-01-31 19:11 -0800
Re: Variables allocated on stack Ian Collins <ian-news@hotmail.com> - 2011-11-27 13:06 +1300
Re: Variables allocated on stack André Gillibert <MetaEntropy.removeThis@gmail.com> - 2011-11-27 11:20 +0100
Re: Variables allocated on stack David Thompson <dave.thompson2@verizon.net> - 2012-01-19 02:43 -0500
Re: Variables allocated on stack Seebs <usenet-nospam@seebs.net> - 2011-11-28 08:32 +0000
Re: Variables allocated on stack Bogdan <cristeab@gmail.com> - 2011-11-26 01:18 -0800
Re: Variables allocated on stack Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-26 08:36 -0500
Re: Variables allocated on stack Seebs <usenet-nospam@seebs.net> - 2011-11-26 07:21 +0000
Re: Variables allocated on stack Noob <root@127.0.0.1> - 2011-11-29 11:51 +0100
csiph-web