Deutsch English Français Italiano |
<vi5rj8$3md4n$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Bart <bc@freeuk.com> Newsgroups: comp.lang.c Subject: Re: question about linker Date: Wed, 27 Nov 2024 01:11:04 +0000 Organization: A noiseless patient Spider Lines: 32 Message-ID: <vi5rj8$3md4n$2@dont-email.me> References: <vi54e9$3ie0o$1@dont-email.me> <vi56hi$3ie0o$2@dont-email.me> <vi57bh$3ip1o$2@dont-email.me> <vi58ba$3ie0o$4@dont-email.me> <vi5m3v$3ljhl$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 27 Nov 2024 02:11:04 +0100 (CET) Injection-Info: dont-email.me; posting-host="94da1025fd5231eb125f80dc7027ef53"; logging-data="3880087"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19245VlCKzBNZJS6AlZWlc3" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:71Ke+MjCQtlK/SBW3OeaQVKTbj0= Content-Language: en-GB In-Reply-To: <vi5m3v$3ljhl$2@dont-email.me> Bytes: 2203 On 26/11/2024 23:37, BGB wrote: > On 11/26/2024 1:42 PM, Thiago Adams wrote: >> On 26/11/2024 16:25, Bart wrote: >>> I don't think so. But you are welcome to look at godbolt.org and see >>> for yourself. Try this for example: >> >> >> >> Yes..I realized now I am wrong. Considering function calls uses >> registers I think the old C model works only when passing everything >> on stack. >> >> > > Can still sort of work: > If spill space is provided for any register arguments; > The mapping of arguments to registers does not depend on argument type; > Passing arguments auto-promotes to a consistent representation of the > type (say, for example, 'float' auto-promotes to 'double', and 'int' > auto-promotes to 'long', ...). That's still full of problems, unless you impose a stricter type system in what's left of the language (eg. revert to B or even BCPL). Since it needs to know whether an 8-bit 255 value is sign- or zero-extended to 32 or 64 bits. Or whether an int value needs to be converted to float or vice versa. There's also the question of passing structs by value.