home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.15 / text0026.txt < prev    next >
Encoding:
Text File  |  1989-01-17  |  7.4 KB  |  185 lines

  1. [ These Standards Updates are published after each IEEE 1003
  2. meeting, and are commissioned by the USENIX Association.
  3. See Part 1 for contact information.  -mod ]
  4.  
  5.  
  6.  
  7.       An update on UNIX|= Standards Activities - Part 2
  8.  
  9.                     C Language Standard
  10.  
  11.                      November 18, 1988
  12.  
  13.            Shane P. McCarron, NAPS International
  14.  
  15. C Language Standard
  16.  
  17. X3J11 (ANSI C standardization committee) met 26-30 Sep. 1988
  18. at Sunnyvale, CA.  Principal business of the meeting was to
  19. respond to comments received during the third round of
  20. formal public review, which had closed earlier that month.
  21. In addition to the 15 letters formally registered with
  22. CBEMA's X3 Secretariat, 27 unregistered letters were
  23. included.  There were 632 items contained in these 42
  24. letters.  In order to address them all, the committee was
  25. divided into response preparation subgroups, each of which
  26. tackled a subset of the total list of items.  From time to
  27. time, the whole committee reassembled to hear issues that
  28. the subgroups were not able to completely resolve by
  29. themselves.  In several cases a straw vote was taken to
  30. determine the sense of the committee. The resulting
  31. responses were formatted to produce the official X3J11
  32. Response Document.
  33.  
  34. At the Sunnyvale meeting, several editorial changes to the
  35. draft standard were approved. The working definition of
  36. ``editorial'' was:  A change is editorial if it clarifies
  37. the original intent of the committee; it is substantive if
  38. it changes the committee's intent.
  39.  
  40. There were several issues that were of particular interest
  41. to the UNIX/POSIX community:
  42.  
  43.    o+ A change was made that clarified the ability of an
  44.      application to portably reestablish a signal handler
  45.      for the signal that caused entry to the handler.  This
  46.      is indeed allowed under the standard.  The important
  47.      passage reads:
  48.  
  49.           If the signal occurs other than as a result of
  50.           calling the abort or raise function, the behavior
  51.  
  52. __________
  53.  
  54.   |= UNIX is a registered trademark of AT&T in the U.S. and
  55.     other countries.
  56.  
  57.  
  58.                            - 2 -
  59.  
  60.           is undefined if the signal handler calls any
  61.           function in the standard library other than the
  62.           signal function itself (with a first argument of
  63.           the signal number corresponding to the signal that
  64.           caused the invocation of the handler) or refers to
  65.           any object with static storage duration other than
  66.           by assigning a value to a static storage duration
  67.           variable of type volatile sig_atomic_t.
  68.  
  69.    o+ IEEE Std 1003.1-1988 (POSIX) requires that the fflush
  70.      function specified by X3J11 have some additional
  71.      semantics.  The committee confirmed that this was
  72.      indeed allowed by ANSI C.
  73.  
  74.    o+ The IEEE P1003.1 working group had asked X3J11 to
  75.      consider making the symbol "environ" a reserve external
  76.      identifier.  This would mean that a ANSI C conforming
  77.      portable application could not use the symbol.  This
  78.      request was made because in traditional UNIX
  79.      implementations application launch routines initialize
  80.      this variable to be a pointer to the user's environment
  81.      variable list, and this may not be what a strictly
  82.      conforming ANSI C application would expect.  This issue
  83.      was raised before the committee, but found no support
  84.      for a change; the committee response for this was as
  85.      follows:
  86.  
  87.           The ANSI C and IEEE 1003.1-1988 standards are not
  88.           necessarily in conflict here, although it is true
  89.           that in order to avoid the name-space conflict a
  90.           mutually conforming implementation must rely on
  91.           some mechanism such as `global symbolic equate' or
  92.           a zero-size global object `environ' in a separate
  93.           library module immediately preceding the module
  94.           that defines storage for `__environ' (the name
  95.           used by the C run-time startup code).  Implementor
  96.           control over the way the linker operates, while
  97.           inappropriate to require for the more universal C
  98.           Standard (hence the constraint on uniqueness of
  99.           external identifiers), is not unrealistic to
  100.           expect for most POSIX implementations.  Several
  101.           implementors have in fact indicated their
  102.           intention to provide such a feature.
  103.  
  104.           Another solution, of course, would be to use
  105.           separate run-time startup modules for strict
  106.           ANSI-conforming and vendor-extended (possibly
  107.           POSIX-conforming) implementations, perhaps via a
  108.           compiler flag.  This may be useful anyway, for
  109.           hiding extensions in certain standard headers.''
  110.  
  111.  
  112.                            - 3 -
  113.  
  114. Because no substantive changes to the proposed standard
  115. resulted from the third-round review process, X3J11 voted
  116. unanimously to submit the standard as edited to reflect
  117. approved editorial changes to CBEMA X3 as the proposed ANSI
  118. C standard, pending completion of additional review as
  119. described below.
  120.  
  121. The draft Response Document was reviewed first by a small
  122. group of X3J11 members using electronic mail, then by a
  123. group meeting at Plum-Hall in Cardiff, NJ on 20-21 Oct.
  124. 1988.  The responses were checked for completeness,
  125. consistency, and accuracy, and occasionally the original
  126. responses were changed to achieve those goals, or to meet
  127. the additional requirement that no unauthorized substantive
  128. change to the proposed standard could be promised by any
  129. response.  Changes made at the review meeting were
  130. subsequently edited into the master Response Document.  Two
  131. significant areas of the standard were affected by editorial
  132. changes resulting from the response review process: The
  133. description of pointer arithmetic was substantially reworked
  134. to avoid reliance on an assumption of byte addressability,
  135. and the specification of the role of type qualifiers was
  136. rewritten to clarify the significance of what was called the
  137. ``top type'' (now called ``type category'').
  138.  
  139. On 1 Nov. 1988, the draft proposed Standard itself was
  140. reviewed by several X3J11 members in a meeting at Summit,
  141. NJ.  Since the draft already contained the results of the
  142. Sunnyvale meeting and response review meeting, very few
  143. changes were found to be necessary at the draft review
  144. meeting.
  145.  
  146. On 9 Nov. 1988, the Rationale Document (designed to
  147. accompany the Standard) was reviewed by a group of X3J11
  148. members meeting in Cambridge, MA.
  149.  
  150. On 14 Nov. 1988, copies of all three documents (Response,
  151. Standard, Rationale) were express-mailed to the 15 X3-
  152. registered commenters, who have 15 working days (from
  153. November 18th) in which to reply to X3 if they feel that
  154. their items were not properly addressed by X3J11.  The
  155. commenters were encouraged to first discuss problems with
  156. X3J11 members, in hopes of reducing the amount of negative
  157. feedback to X3.
  158.  
  159. On 9 Dec. 1988, all three documents plus any feedback from
  160. the commenters are to be submitted to CBEMA's X3 Secretariat
  161. as the official X3J11 proposal for the ANSI Standard for
  162. Programming Language C.  After review by X3, assuming no
  163. problems arise the proposed Standard will then be submitted
  164. to ANSI for official ratification as an ANSI standard.  It
  165.  
  166.  
  167.                            - 4 -
  168.  
  169. seems probable that the final ANSI C standard will be
  170. published some time during 1989.
  171.  
  172. The Watchdog contact person in X3J11 is Doug Gwyn.  He can
  173. be reached at:
  174.  
  175.           Doug Gwyn
  176.           US Army Ballistic Research Lab
  177.           801 L Cashew Ct.
  178.           Belair, MD  21014
  179.           gwyn@brl.mil
  180.           +1 (301) 287-6647
  181.  
  182.  
  183. Volume-Number: Volume 15, Number 37
  184.  
  185.