Article View: comp.std.c
Article #92Rulings (Was Re: does "always append" apply to "a+" mode?
From: Christopher R Volpe
Date: Thu, 06 Aug 1992 13:00
Date: Thu, 06 Aug 1992 13:00
126 lines
7426 bytes
7426 bytes
In article <BsJnKx.5yF@jrd.dec.com>, diamond@jit345.bad.jit.dec.com (Norman Diamond) writes: |> |> I would guess that this one might have been addressed by an interpretation |> ruling, if anyone might be kind enough finally to post the interpretation |> rulings again. No problem. Unfortunately, there are no rulings on 4.9.5.3. May 30 22:22 1992 CIB#1 interpretations sorted by X3.159-1989 section Page 1 RFI 33 Q 1 1.6 non-constraint "shall" violation doesn't need diagnostic RFI 17 Q 35 2.1.1.2 where physical source lines occur in phase 1 matters not RFI 17 Q 3 2.1.1.3 constraint violation always requires diagnostic RFI 17 Q 2 2.1.2.2.1 if main does not exist behavior is implicitly undefined RFI 17 Q 38 2.2.4.1 iteration/selection "control structure" means "statement" RFI 17 Q 20 3.1.2 scope of macro identifiers is intentionally omitted RFI 13 Q 5 3.1.2.1 enumeration tag is undefined until declaration complete RFI 35 Q 2 3.1.2.1 parameter declarations have block scope RFI 11 Q 2 3.1.2.2 linkage can be affected by scope RFI 34 Q 2 3.1.2.2 incompatible declaration of object is undefined behavior RFI 10 Q 1 3.1.2.5 typedef of an incomplete type is permitted RFI 34 Q 1 3.1.2.5 size information is lost upon leaving scope RFI 11 Q 1 3.1.2.6 composite type is not created across different scopes RFI 13 Q 2 3.1.2.6 recursion does not preclude type compatibility RFI 13 Q 3 3.1.2.6 composite type of enum and integer may not be unique RFI 29 Q 1 3.1.2.6 tags are not used for type compatibility RFI 17 Q 4 3.1.3.4 escape sequence value is not mapped RFI 17 Q 5 3.1.3.4 constraint violation in example depends on 8-bit byte RFI 17 Q 39 3.1.7 header name tokenization is context-dependent RFI 3 Q 1 3.1.8 preprocessing number grammar is as intended RFI 15 Q 1 3.2.1.1 bit-field treated as unsigned promotes as unsigned RFI 28 Q 1 3.3 access rules also apply to dynamically allocated objects RFI 12 Q 1 3.3.3.2 &*p is not valid when p has type void * RFI 17 Q 6 3.3.3.2 storage class for object also applies to its parts RFI 17 Q 7 3.3.3.4 type of result of sizeof is independent of size_t RFI 17 Q 16 3.3.6 pointer arithmetic is bounded by specified array type RFI 17 Q 8 3.3.9 void keyword versus void type can be resolved by context RFI 17 Q 9 3.3.16.1 "assignment expression" refers to whole expression RFI 31 Q 1 3.4 representability is required for constant subexpressions RFI 7 Q 1 3.5 multiple declarations of tag are permitted RFI 13 Q 4 3.5.2.3 structure is incomplete until content completely defined RFI 17 Q 10 3.5.2.3 when size is needed is adequately specified RFI 17 Q 11 3.5.2.3 multiple declaration of incomplete struct is allowed RFI 16 Q 1 3.5.4 object may be declared without knowing its size RFI 8 Q 2 3.5.4.3 volatile semantics are as intended RFI 9 Q 1 3.5.4.3 typedef name takes precedence over ordinary identifier RFI 13 Q 1 3.5.4.3 array parameter treated as pointer for composite type RFI 17 Q 12 3.5.4.3 typedef name takes precedence over ordinary identifier RFI 17 Q 13 3.5.4.3 storage class does not affect type compatibility RFI 17 Q 14 3.5.4.3 void as parameter list is token, not type RFI 17 Q 15 3.5.4.3 array parameter treated as pointer for composite type RFI 17 Q 18 3.5.4.3 void as parameter list is not itself a parameter May 30 22:22 1992 CIB#1 interpretations sorted by X3.159-1989 section Page 2 RFI 17 Q 36 3.5.4.3 qualified void function return type is undefined behavior RFI 16 Q 2 3.5.7 implicit initialization of union is for first member RFI 17 Q 17 3.5.7 explicit initialization of union skips unnamed members RFI 17 Q 26 3.5.7 unnamed union members are not implicitly initialized RFI 1 Q 1 3.6.6.4 function returns its value by copying RFI 4 Q 1 3.7 can be at most one definition of unused extern identifier RFI 20 Q 1 3.7 relaxed ref/def model can be standard conforming RFI 35 Q 1 3.7.1 declared identifier is the one in the identifier list RFI 11 Q 3 3.7.2 implicit initializer is effect, not token RFI 11 Q 4 3.7.2 one implicit initializer supplied for incomplete extern RFI 17 Q 1 3.8 first new-line terminates preprocessing directive RFI 3 Q 2 3.8.3 macro replacement white space is as intended RFI 3 Q 3 3.8.3 empty macro argument behavior is intentionally undefined RFI 3 Q 4 3.8.3 preprocessor directive is forbidden in macro argument RFI 17 Q 19 3.8.3 split-macro evaluation is intentionally fuzzy RFI 17 Q 21 3.8.3 macro parentheses are those existing before replacement RFI 2 Q 1 3.8.3.2 semantics of # are as intended RFI 17 Q 22 3.8.3.3 ## produced by expansion is not the catenation operator RFI 17 Q 23 3.8.3.4 split-macro non-replacement is intentionally fuzzy RFI 5 Q 1 3.8.6 strictly conforming program cannot contain #pragma RFI 17 Q 24 4.1.2 wording improvement is not necessary RFI 17 Q 25 4.1.2.1 use of "must" in footnote is clear enough RFI 19 Q 1 4.3 "printing character" is implementation-defined RFI 25 Q 1 4.5.1 principles for C floating-point representation are given RFI 30 Q 1 4.5.1 sin(DBL_MAX) must not set errno to EDOM RFI 14 Q 1 4.6 setjmp can be either a macro or a function RFI 8 Q 1 4.6.2.1 dead-store elimination is allowed when setjmp is used RFI 17 Q 27 4.9.6.1 # flag takes precedence over %g in fprintf conversion RFI 21 Q 1 4.9.6.1 precision is increased only if necessary RFI 14 Q 2 4.9.6.2 %n is valid after fscanf encounters EOF RFI 17 Q 29 4.9.6.2 fscanf matching failure can result in lost characters RFI 18 Q 1 4.9.6.2 plain "characters" refers to one-byte characters RFI 17 Q 28 4.9.9 no temporal ordering is implied for operations on return RFI 17 Q 30 4.9.9 seek offset is obtained from successful previous call RFI 22 Q 1 4.10.1.4 strtod and fscanf differ on conversion failure RFI 23 Q 1 4.10.1.4 "0.0e99999" must be properly converted to zero RFI 24 Q 1 4.10.1.4 LC_NUMERIC locale category affects strtod RFI 6 Q 1 4.10.1.6 strtoul honors minus sign beginning subject sequence RFI 17 Q 31 4.10.3 size of object is always measured in bytes RFI 17 Q 32 4.11.4 string comparison interprets bytes as if unsigned char RFI 17 Q 33 4.11.4 string terminator takes part in comparison RFI 17 Q 34 4.11.5.8 description of calls to strtok is clear enough -- ================== Chris Volpe G.E. Corporate R&D volpecr@crd.ge.com
Technical Details
Message-ID:
<1992Aug6.130017.4172@crd.ge.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!usc!rpi!crdgw1!rdsunx.crd.ge.com!bart!volpeReferences:
<13851@goanna.cs.rmit.oz.au> <15cajaINNrum@early-bird.think.com> <13905@goanna.cs.rmit.oz.au> <1992Aug05.081224.17647@x.co.uk> <BsJnKx.5yF@jrd.dec.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!rpi!crdgw1!rdsunx.crd.ge.com!bart!volpe From: volpe@bart.NoSubdomain.NoDomain (Christopher R Volpe) Newsgroups: comp.std.c Subject: Rulings (Was Re: does "always append" apply to "a+" mode? Message-ID: <1992Aug6.130017.4172@crd.ge.com> Date: 6 Aug 92 13:00:17 GMT References: <13851@goanna.cs.rmit.oz.au> <15cajaINNrum@early-bird.think.com> <13905@goanna.cs.rmit.oz.au> <1992Aug05.081224.17647@x.co.uk> <BsJnKx.5yF@jrd.dec.com> Sender: volpe@bart (Christopher R Volpe) Reply-To: volpe@ausable.crd.ge.com Organization: GE Corporate Research & Development Lines: 126 Nntp-Posting-Host: bart.crd.ge.com