home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.17 / text0053.txt < prev    next >
Encoding:
Internet Message Format  |  1990-01-06  |  2.7 KB

  1. From: karish@forel.stanford.edu (Chuck Karish)
  2.  
  3. In article <432@longway.TIC.COM> gwyn@brl.arpa (Doug Gwyn) wrote:
  4. >In article <431@longway.TIC.COM> karish@forel.stanford.edu
  5. (Chuck Karish) writes:
  6. >-In article <428@longway.TIC.COM> gwyn@brl.arpa (Doug Gwyn) wrote:
  7. >->No, it doesn't -- because "the set of symbols defined by the C standard"
  8. >->can, and must, be construed as permitting all symbols that the C standard
  9. >->specifically reserves for the implementation, including _LOW etc.
  10. >-To me, "the set of symbols defined by the C standard" means the set of
  11. >-symbols defined, not the set of all possible symbols in some part of
  12. >-the name space.  I interpreted this to mean the set of symbols listed
  13. >-in Appendix 3 of X3J11/88-158 (Draft ANSI C Standard).  "Defined"
  14. >-and "reserved" denote different concepts.
  15. >
  16. >But IEEE Std 1003.1 cannot constrain the identifiers reserved for
  17. >implementation use by ANSI X3.159.  
  18.  
  19. Agreed.
  20.  
  21. >The intention of this part of
  22. >the 1003.1 spec is quite clear -- it means that applications cannot
  23. >count on the symbols defined by 1003.1 as being visible in the
  24. >Standard C headers unless _POSIX_SOURCE is defined before including
  25. >the headers.  It does not impose additional constraints on the pure
  26. >X3.159 part of the implementation.
  27.  
  28. If the intention were "quite clear" as expressed in the document, this
  29. thread wouldn't exist.
  30.  
  31. The relevant sentence from 1003.1 is: "If there are no feature test
  32. macros present in a program, only the set of symbols defined by the C
  33. standard shall be present".  From this wording, the reader has no
  34. immediate way to tell that the set of allowed symbols is what's meant,
  35. rather than the specific symbols required by the C standard; that
  36. "defined" modifies "set", not "symbols".  This ambiguity has led
  37. some readers of 1003.1 to look in the C standard for a list of defined
  38. symbols, and to find Appendix 3.  Under this interpretation, 1003.1
  39. excludes implementation-defined symbols from the standard headers.
  40.  
  41. >You are being deliberately obtuse.
  42.  
  43. It's my job to be obtuse in cases like this, and it's yours, too.  It's
  44. neither unusual nor unexpected that people involved with writing a
  45. complicated document miss some of the ambiguities it contains.  It is
  46. sometimes necessary to affect a naive attitude in order to foresee how
  47. one's words might be misinterpreted.  In this case, no such cupidity
  48. was necessary.  The wording really is confusing.
  49.  
  50. Note that I said in my first posting on this question that I was basing
  51. my answer on a literal reading of the relevant documents.  If the
  52. reader needs to have special knowledge or to note every subtle nuance
  53. of meaning in order to understand a standard, the standard is
  54. inadequate.
  55.  
  56. Volume-Number: Volume 17, Number 62
  57.  
  58.  
  59.