Path: csiph.com!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: structs passed by copy Date: Sun, 29 Jan 2023 13:30:32 -0800 Organization: A noiseless patient Spider Lines: 44 Message-ID: <86pmaxf2pz.fsf@linuxsc.com> References: <76ec6d87-0f5d-4671-b4c8-7023e3da787an@googlegroups.com> <20230120230138.1225d36e5ad8e5f07401c67a@gmail.com> <1btu0jojlm.fsf@pfeifferfamily.net> <87edrnifxn.fsf@nosuchdomain.example.com> <87sfg2gszl.fsf@nosuchdomain.example.com> <87o7qqglva.fsf@nosuchdomain.example.com> <86fsc0hl4i.fsf@linuxsc.com> <87a628g440.fsf@nosuchdomain.example.com> <86bkmogc9c.fsf@linuxsc.com> <87h6wfeodq.fsf@nosuchdomain.example.com> <87cz73em5o.fsf@nosuchdomain.example.com> <87zga7jaci.fsf@zotaspaz.fatphil.org> <87tu0eigxl.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader01.eternal-september.org; posting-host="8ce3893f3eb724e7abcf14dabf224dec"; logging-data="3076884"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX185xjhYtisyYeol91Vh9dqxvC2sOCDhRkc=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:nd3VonT+1jNsZ/u7kXa+HDUQ/2Q= sha1:6c9Wg0vgf07gBuJgUby/VmVLHks= Xref: csiph.com comp.lang.c:169106 Keith Thompson writes: > Phil Carmody writes: > >> Keith Thompson writes: >> >>> Keith Thompson writes: >>> >>>> Tim Rentsch writes: >>>> [...] >>>> >>>>> It would be nice if some energetic person would enter a bug >>>>> report on the gcc bug list site, regarding the missing imaginary >>>>> types. I have put in gcc bug reports in the past but don't have >>>>> as much time for that now. >>>> >>>> *raises hand* Thank you for taking that up. >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108531 >>> "Imaginary types are not supported, violating ISO C Annex G" >> >> Thanks. Clear enough. >> >>> After I submitted that, I found that it's probably a duplicate of >>> https://sourceware.org/bugzilla/show_bug.cgi?id=15720 >>> which was resolved as "INVALID". I disagree with that resolution. >> >> Agree. It almost seems as if precedent for having a type of >> bug is justification for more such bugs. >> >> I guess this explains a lot of the world of software generally. > > I've also sent a suggestion to the C standard editors (the email > addresses at the top of the N3054 draft) suggesting that imaginary types > should be optional even if __STDC_IEC_559_COMPLEX__ and > __STDC_IEC_60559_COMPLEX__ are defined. But it's probably too late to > make such a change for C23. Are imaginary types included in the IEC_559/IEC_60559 materials? If they are then I think imaginary types should be mandatory for any C implementation that defines the __STDC_IEC_{559,60559}_COMPLEX__ symbol(s).