Deutsch English Français Italiano |
<87y18047jk.fsf@nosuchdomain.example.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson <Keith.S.Thompson+u@gmail.com> Newsgroups: comp.lang.c Subject: Re: C23 thoughts and opinions Date: Thu, 23 May 2024 13:06:39 -0700 Organization: None to speak of Lines: 32 Message-ID: <87y18047jk.fsf@nosuchdomain.example.com> References: <v2l828$18v7f$1@dont-email.me> <00297443-2fee-48d4-81a0-9ff6ae6481e4@gmail.com> <v2lji1$1bbcp$1@dont-email.me> <87msoh5uh6.fsf@nosuchdomain.example.com> <f08d2c9f-5c2e-495d-b0bd-3f71bd301432@gmail.com> <v2nbp4$1o9h6$1@dont-email.me> <v2ng4n$1p3o2$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Thu, 23 May 2024 22:06:54 +0200 (CEST) Injection-Info: dont-email.me; posting-host="04393c0e0d87ab29eec6bf33d59d4ed3"; logging-data="2021095"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18cvF1nudp/2CAWWP82yeS+" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:Ptlo5jAY3nlLjsixFccDjuOKA9k= sha1:HW/23DNjURyo1io8UdCHOqz3MDU= Bytes: 2532 David Brown <david.brown@hesbynett.no> writes: > On 23/05/2024 14:11, bart wrote: [...] >> 'embed' was discussed a few months ago. I disagreed with the poor >> way it was to be implemented: 'embed' notionally generates a list of >> comma-separated numbers as tokens, where you have to take care of >> any trailing zero yourself if needed. It would also be hopelessly >> inefficient if actually implemented like that. > > Fortunately, it is /not/ actually implemented like that - it is only > implemented "as if" it were like that. Real prototype implementations > (for gcc and clang - I don't know about other tools) are extremely > efficient at handling #embed. And the comma-separated numbers can be > more flexible in less common use-cases. [...] I'm aware of a proposed implementation for clang: https://github.com/llvm/llvm-project/pull/68620 https://github.com/ThePhD/llvm-project I'm currently cloning the git repo, with the aim of building it so I can try it out and test some corner cases. It will take a while. I'm not aware of any prototype implementation for gcc. If you are, I'd be very interested in trying it out. (And thanks for starting this thread!) -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */