Groups | Search | Server Info | Login | Register


Groups > comp.lang.c > #392923

Re: Bart's Language

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: Bart's Language
Date 2025-04-27 11:53 -0700
Organization A noiseless patient Spider
Message-ID <86wmb58mi6.fsf@linuxsc.com> (permalink)
References (2 earlier) <vrbtve$2irc9$1@dont-email.me> <vrc2d5$1jjrf$1@paganini.bofh.team> <vrc4eb$2p28t$1@dont-email.me> <vri6co$26v8m$2@paganini.bofh.team> <87a59fs2xm.fsf@nosuchdomain.example.com>

Show all headers | View raw


Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:

> antispam@fricas.org (Waldek Hebisch) writes:
> [...]
>
>> Well, it is rather easy to see if variable is used within its
>> own initialization, so practically it is minor gap.  Of course,
>> there is problem with C standard:  IIUC depending on rest of
>> the code declarations as above are merely undefined behaviour
>> or even produce unspecified value.  So C compiler is
>> forbidden to stop compilation are report compile time error.
>
> Valid responses to undefined behavior include "terminating a translation
> or execution (with the issuance of a diagnostic message)".

That's true, but doing so is allowed only if the circumstances
of undefined behavior have occurred.  In the case of compiling
a declaration such as

    int a = a;

no undefined behavior has as yet occurred.

> In other
> words, if a compiler is able to prove that a program has undefined
> behavior (that will occur on each execution), it can reject it at
> compile time.

The program can be rejected, but not because of the rule about
terminating a translation.  The program can be rejected because
the program is not strictly conforming, and implementations are
not required to accept programs that are not strictly conforming.

Back to comp.lang.c | Previous | NextNext in thread | Find similar


Thread

Re: Bart's Language Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-04-27 11:53 -0700
  Re: Bart's Language Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-04-27 14:29 -0700

csiph-web