[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Patchless modification of Lua source code
- From: Sean Conner <sean@...>
- Date: Fri, 23 Nov 2018 21:19:33 -0500
It was thus said that the Great Philipp Janda once stated:
> Am 24.11.18 um 00:28 schröbte Sean Conner:
> >It was thus said that the Great Viacheslav Usov once stated:
> >>
> >> The very first message of mine in this thread explained how having
> >> multiple definitions of external linkage identifiers in an "entire
> >> program" is undefined behaviour, quoting the standard.
> >
> > That was 6.9#5, which I quoted a portion of, but here's the full quote:
> >
> > 5 An external definition is an external declaration that is also a
> > definition of a function (other than an inline definition) or an
> > object. If an identifier declared with external linkage is used in
> > an expression (other than as part of the operand of a sizeof
> > operator whose result is an integer constant), somewhere in the
> > entire program there shall be exactly one external definition for
> > the identifier; otherwise, there shall be no more than one.
> >
> > I'm not reading "undefined behavior" there, I see "error" there. Annex
> > J of the C99 standard lists all the unspecified, undefined,
> > implementation-defined and locale-specific behaviors. Nowhere is this
> > addresses.
>
> This one is easy. Very first bullet point in Annex J.2.1:
> J.2 Undefined behavior
>
> 1 The behavior is undefined in the following circumstances: — A
> ‘‘shall’’ or ‘‘shall not’’ requirement that appears outside of a
> constraint is violated (clause 4).
>
> Which refers to 4.2 in the normative part of the standard:
>
> 2 If a ‘‘shall’’ or ‘‘shall not’’ requirement that appears outside
> of a constraint is violated, the behavior is undefined. Undefined
> behavior is otherwise indicated in this International Standard by
> the words ‘‘undefined behavior’’ or by the omission of any explicit
> definition of behavior. There is no difference in emphasis among
> these three; they all describe ‘‘behavior that is undefined’’.
Fair enough, I stand corrected on that point.
> > -spc (So did I use two non-comformant compilers for this experiment
> > then?)
> Philipp
No answer to my question though?
-spc