Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.std.c Subject: Re: 7.1.4p2 vs. Annex J Date: Tue, 04 Aug 2020 07:29:28 -0700 Organization: None to speak of Lines: 27 Message-ID: <877due8oxj.fsf@nosuchdomain.example.com> References: <87bljr84ay.fsf@nosuchdomain.example.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="8e1a0ffdbf8d1772d4a70bcdb1fd17b6"; logging-data="19398"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/pRcMSnZjm66drqvp5WGKU" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cancel-Lock: sha1:vf5wHVic9sn8ZWTkZGV+EIjPQdo= sha1:oPz6vEEqPB8VnmZ2CHmKCIyEaB8= Xref: csiph.com comp.std.c:6142 Philipp Klaus Krause writes: > J.2 is informative, and the part you quoted refers to normative text > 7.1.2. In the current C2X draft N2479, the relevant sentenceg in 7.1.2 is: > > "If used, a header shall be included outside of any external declaration > or definition, and it shall first be included before the first reference > to any of the functions or objects it declares, or to any of the types > or macros it defines." > > So clearly, the undefined behaviour does not happen when the header is > not used at all. Please quote (some of) the article you're replying to. In N2479, J.2 still says the behavior is undefined if: - A function, object, type, or macro that is specified as being declared or defined by some standard header is used before any header that declares or defines it is included (7.1.2). The normative text is clear enough in both N1570 and N2479. The text in J.2 is at best unclear. That's the error I'm referring to. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com Working, but not speaking, for Philips Healthcare void Void(void) { Void(); } /* The recursive call of the void */