| Deutsch English Français Italiano |
|
<86selaxprh.fsf@linuxsc.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: Loops (was Re: do { quit; } else { })
Date: Mon, 12 May 2025 00:16:34 -0700
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <86selaxprh.fsf@linuxsc.com>
References: <vspbjh$8dvd$1@dont-email.me> <20250413072027.219@kylheku.com> <vtgpce$39229$1@dont-email.me> <vti2ki$g23v$1@dont-email.me> <vtin99$vu24$1@dont-email.me> <vtiuf0$18au8$1@dont-email.me> <vtj97r$1i3v3$1@dont-email.me> <vtl166$36p6b$1@dont-email.me> <vtlcg0$3f46a$2@dont-email.me> <20250415153419.00004cf7@yahoo.com> <86h62078i8.fsf@linuxsc.com> <20250504180833.00000906@yahoo.com> <86plggzilx.fsf@linuxsc.com> <vvnsvt$3k1mu$1@dont-email.me> <86ldr4yx0x.fsf@linuxsc.com> <vvpmm2$3dhl$1@dont-email.me> <vvpsji$4jht$1@dont-email.me> <vvr5mg$l85c$1@dont-email.me> <87wmam4xa5.fsf@nosuchdomain.example.com> <868qn2zl1m.fsf@linuxsc.com> <87jz6m4m2o.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Mon, 12 May 2025 09:16:34 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="74b4e5895be58ca73eb02e8f9ff401e1";
logging-data="1024033"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19tyY7X2KcNFZ9QsAYonE6nKpqJ4fwz9ew="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:yKs1SJdXLJmhu9NQfOPAKCW0bQg=
sha1:/h1egRWhCq0Ljnxbytpt7Q0TxgU=
Bytes: 3742
Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>
>> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>>
>>> James Kuyper <jameskuyper@alumni.caltech.edu> writes:
>>> [...]
>>>
>>>> It's main potential usefulness is not in the definition of the
>>>> function, but in calls to the function. If the calls occur in
>>>> a different translation unit from the definition, the compiler
>>>> does not have the needed information.
>>>
>>> It does if the visible declaration has the same information.
>>
>> Like 'restrict', parameter array length information, specified by
>> way of 'static', is ignored outside of function definitions. As
>> was intended (with 'restrict' also).
>
> I think that by "is ignored", you mean that compilers are not
> required to pay attention to it. [...]
I mean it has no effect on program semantics.
>> Furthermore, and also like 'restrict', there is no general
>> way to verify at compile time that the stipulated condition
>> holds.
>
> Right, but that doesn't prevent implementations from issuing
> useful warnings when it can determine that the stipulated
> condition does not hold.
True, but in many cases they can't, because that information
is not part of the function's type and so often it is not
present.
>> Considering the above, it's better to observe the status quo, and
>> leave any diagnostics up to the discretion of the implementation,
>> rather than try to retrofit an incompatible change that would
>> make an infringement be a constraint violation that can't be
>> checked anyway.
>
> Observing the status quo is better than what, exactly?
Better than than trying to retrofit an incompatible change that
would make an infringement be a constraint violation that can't
be checked anyway.
> The status quo is that the "[static N]" syntax has been in the
> language since C99, and programmers and implementations are free
> to take advantage of it. I don't recall anyone in this thread
> proposing a change to that.
Neither do I, nor did I mean to imply that anyone had.